Did I send out something weird? My version looks like this:
# Turn on special checking for Doug MacEachern's modperl
if (exists $ENV{MOD_PERL}) {
eval "require mod_perl";
if (defined $mod_perl::VERSION) {
if ($mod_perl::VERSION >= 1.99) {
$MOD_PERL = 2;
require Apache::RequestRec;
require Apache::RequestUtil;
require APR::Pool;
} else {
$MOD_PERL = 1;
require Apache;
}
}
}
Lincoln
On Thursday 13 March 2003 06:21 pm, Stas Bekman wrote:
> Lincoln Stein wrote:
> > Please find enclosed a beta version of CGI.pm 2.92. I would appreciate
> > it if people could test it on both mod_perl 1 and mod_perl 2, as well as
> > under normal CGI scripts too ;-)
>
> Thanks Lincoln. 'make test' passes with mp1 and mp2, however the test
> suites aren't exhaustively cover CGI.pm's functionality. So we really need
> your help guys to give it a good test in the real apps.
>
> > In case anyone wonders why I fiddled with the check for the presence of
> > modperl, this is because some people write scripts that shell out to
> > command-line scripts that invoke CGI.pm in order to generate HTML (don't
> > ask me why). Without the additional checking, CGI.pm sees the MODPERL
> > environment variable, tries to load mod_perl outside the Apache
> > environment, and summarily crashes.
>
> Ahm, I'm not quite sure that this does what you say it should:
>
> if (exists $ENV{MOD_PERL}) {
> require mod_perl;
> if (defined $mod_perl::VERSION && ($mod_perl::VERSION >= 1.99)) {
> # mp2
> } else {
> # mp1
> }
> }
>
> because if it's not defined, it'll fall through to the else block, assuming
> that the external script is running under mp1. Shouldn't it be:
>
> if (exists $ENV{MOD_PERL}) {
> require mod_perl;
> # mod_perl handlers may run system() on scripts using CGI.pm
> # - make sure so we don't get fooled by inherited $ENV{MOD_PERL}
> if (defined $mod_perl::VERSION){ # for shell scripts
> if ($mod_perl::VERSION >= 1.99)) {
> # mp2
> } else {
> # mp1
> }
> }
> }
>
> also it's probably a good idea to add a note, why this check is done, so
> not to forget in the future and "optimize" it away ;)
>
> > I still haven't heard any response as to why I should move to MP2! I
> > wasn't just being cranky, I'm curious.
>
> You want to move to MP2, if one of the following reasons apply:
>
> - you are stuck with Apache2
> - you want to use i/o filters
> - you want to write your own protocol handlers
> - you want to use a threaded mod_perl
> - you are stuck with win32 (mp1 is unusable on win32, serialization)
>
> and there is a whole bunch of new functionality available, which will be
> too long to list here and partially described on the website.
>
> __________________________________________________________________
> 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
--
========================================================================
Lincoln D. Stein Cold Spring Harbor Laboratory
[EMAIL PROTECTED] Cold Spring Harbor, NY
========================================================================