perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Prime <adam.pr...@utoronto.ca>
Subject Re: WELCOME to modperl@perl.apache.org
Date Thu, 12 Feb 2009 18:58:35 GMT
Erik Aronesty wrote:
>> Maybe ModPerl::Registry should do this, but not mod_perl itself. If someone
> 
> Yes, it's a problem with ModPerl::Registry, I agree.  It's not mentioned here:
> 
> http://perl.apache.org/docs/2.0/api/ModPerl/Registry.html#Caveats
> 
> Where it should be.

Absolutely, i'll patch the docs to add a link to the perl reference page 
over the weekend.

>> is trying to get an old CGI script to work under mod_perl then they'd use
>> Registry. But there's no reason to make the rest of us suffer for their old
>> scripts.
> 
> # This isn't an "old" program...it's a simple program,
> # and no amount of "strict or warnings" will help debug it
> 
>  use CGI;
>  my $x =CGI::param('foo');
> 
>  &y;
> 
>  sub y {
>        print "content-type:text/plain\n\n?$x\n";
>  }

If you add use strict and use warnings to that script, you get this in 
your error_log:

Variable "$x" will not stay shared at /usr/local/prefork/perl/thing.cgi 
line 10.

which, with a quick googling of 'mod_perl variable will not stay 
shared', turns you to a number of resources talking about the problem, 
and it's solutions.

And for what it's worth, it seems that running under ModPerl::PerlRun 
makes it work alright, albeit with 2 warnings in the error_log:

Variable "$x" will not stay shared at /usr/local/prefork/perl/haha.cgi 
line 10.
Subroutine y redefined at /usr/local/prefork/perl/haha.cgi line 9.

Adam

Mime
View raw message