Perrin Harkins wrote: > Stas Bekman wrote: > >> I think I've had enough coffee. PerlRun recompiles the code on each >> request, meaning that it re-runs any BEGIN blocks on each request. >> Meaning that My::Config will re-import %CF afresh. > > That makes sense. I was thinking that keeping track of which BEGIN > blocks had run was somehow separate from the compilation process, but > that seems pretty unlikely now that I think about it.
cool :) >> Since use is almost the same as: require+import. require won't be >> called because the module will be already in %INC, but import will be >> always called. > > PerlRun resets %INC after each run, meaning that it should be compiling > the used module again. It doesn't reset %INC completely, it only resets entries that were declared with 'package Foo' inside .pl: for (keys %INC) { next if $orig_inc{$_}; next if /\.pm$/; delete $INC{$_}; } so any .pm modules loaded from the perlrun script stay in %INC. Moreover, if My::Config was preloaded it'll stay in %INC for sure. > That doesn't explain why he's having trouble though. If it was a real problem we would have received loads of reports, since this is such a basic feature. Must be something else that messes up things for him. He has never followed up with more details, so it's hard to guess. __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com