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



Reply via email to