On 6/27/05, Philip M. Gollucci <[EMAIL PROTECTED]> wrote: > Douglas Riordan wrote: > > >from Apache2::Const's perldoc > >use Apache2::Const qw(OK); > >compiles imports the OK constant. > > > >use Apache2::Const -compile => qw(OK); > >only compiles the OK constant in which case i would have to use > >return Apache2::Const::OK > > > > > I agree with the perldoc. > > Whats this coming from then ? > > Constant subroutine My::OK redefined at > /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/ModPerl/Util.pm > line 66.
look for *** line 66 *** below sub unload_package_pp { my $package = shift; no strict 'refs'; my $tab = \%{ $package . '::' }; # below we assign to a symbol first before undef'ing it, to avoid # nuking aliases. If we undef directly we may undef not only the # alias but the original function as well for (keys %$tab) { my $fullname = join '::', $package, $_; # code/hash/array/scalar might be imported make sure the gv # does not point elsewhere before undefing each if (%$fullname) { *{$fullname} = {}; undef %$fullname; } if (@$fullname) { *{$fullname} = []; undef @$fullname; } if ($$fullname) { my $tmp; # argh, no such thing as an anonymous scalar *{$fullname} = \$tmp; undef $$fullname; } if (defined &$fullname) { no warnings; local $^W = 0; if (defined(my $p = prototype $fullname)) { *{$fullname} = eval "sub ($p) {}"; # <-- *** line 66 *** } else { *{$fullname} = sub {}; } undef &$fullname; } i'm not 100% sure why but it would appear warnings are not being disabled. i can live with it (or perhaps i'm doing something wrong in my code), but the i need to fix what appears to be apache2::reload causing apache to segfault. restarting apache dozens and dozens of times to avoid it is not fun. doug riordan