Subject: | Undefined subroutine &main::main:: called at /usr/share/perl5/YAML/Mo.pm line 5 |
Error: Undefined subroutine &main::main:: called at
/usr/share/perl5/YAML/Mo.pm line 5. Compilation failed in require at
/usr/share/perl5/YAML.pm line 3. BEGIN failed--compilation aborted at
/usr/share/perl5/YAML.pm line 3. Compilation failed in require at
(eval 1437) line 2. BEGIN failed--compilation aborted at (eval 1437)
line 2.
I sadly have no test case that can reproduce this easily, but two of us have seen it
when using a particular CGI application that contains
eval q{use {YAML}};
Changing the code to
use YAML;
Or even to
eval q{use {YAML::XS}};
Avoids the problem. Also, moving the eval to happen before a call to CGI::Session->new
avoids the problem.
For details, see http://bugs.debian.org/657533
Line 5 of Yaml::Mo, besides being an impressive feat of obfuscation, is apparently
doing something very dire with the symbol table.