On Tue, Dec 23, 2008 at 3:56 PM, Steffen Mueller <wyp3rl...@sneakemail.com> wrote: >> But I don't have a solution to my problem with i18n and Curses::UI. Any >> idea about what Module::ScanDeps isn't finding, if that is indeed the >> culprit? > > Hmm. Curses::UI is an oddball.
That's putting it modestly. I almost puked when I saw it's way of handling i18n :) > $ pp -o hello -e 'use i18n; use Curses::UI; print "Hello, world!\n";' > $ ./hello > Can't locate object method "print" via package "FileHandle" at > /usr/share/perl5/Archive/Zip/Member.pm line 935. > Compilation failed in require at Curses/UI/Common.pm line 19. I can reproduce it here with Perl 5.10.0 on Linux. That problem seems to be a weird interaction between i18n, Curses::UI and PAR - if I leave out any of the above, it works. Hmm, looks like it's rather Term::ReadKey than Curses::UI, because the following fails, too: $ pp -o hello2 -e 'use i18n; use Term::ReadKey; print "OK\n";' $ ./hello2 Can't locate object method "print" via package "FileHandle" at /usr/share/perl5/Archive/Zip/Member.pm line 935. Compilation failed in require at script/pp_seLU.pl line 1. BEGIN failed--compilation aborted at script/pp_seLU.pl line 1. strace shows that the error happens while bootstrapping Term::ReadKey, probably when trying to extract ReadKey.so from the zip archive hello2. Actually, i18n.pm seems to be real culprit: If I switch the order of the above "use"s, hello2 runs fine. Same if I replace Term::ReadKey with another module that has a shared glue library (and isn't one of the core modules already loaded, e.g. Devel::Peek). Cheers, Roderich