I recently made the move from mod_perl 1.99 to mod_perl 2.0.2. After a bit of porting (changing Apache:: to Apache2::, etc), everything seemed to be working fairly well. But then some bizarre things started happening.
About 1 in 50 times, a page will fail to load with "internal server error". The error logs show some *very* weird errors: failed to resolve handler `ModPerl::Registry': Global symbol "$base" requires explicit package name at /usr/share/perl/5.8/base.pm line 19.\nCompilation failed in require at /opt/apache2/perl5lib/i486-linux-gnu-thread-multi/ModPerl/Registry.pm line 25.\nBEGIN failed--compilation aborted at /opt/apache2/perl5lib/i486-linux-gnu-thread-multi/ModPerl/Registry.pm line 25.\nCompilation failed in require at (eval 60) line 3.\n And stuff like this: Global symbol "$r" requires explicit package name at /opt/weedns-4/skins/yi/perl5lib/yi/page/css.pm line 16.\nCompilation failed in require at /opt/weedns-4/skins/yi/htdocs/css.pl line 6.\nBEGIN failed--compilation aborted at /opt/weedns-4/skins/yi/htdocs/css.pl line 6.\n Here's lines 14 - 20 of css.pm: 14 - sub handler { 15 - my($class, $r) = @_; 16 - $r->content_type("text/html"); 17 - $r->print("<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"/yi.css\" />\n"); 18 - $r->status(OK); 19 - return OK; 20 - } Has anybody else run into this? Did I do something wrong? Everything ran fine under mod_perl 1.99, and essentially all I've changed is using Apache2:: namespaces instead of Apache:: namespaces. Any help at all would be appreciated. Thanks, Tyler