Hi, I'm researching the nicest way to migrate our CGIs to running under
mod_perl, and although they are too dirty to run under Apache::Registry,
Apache::PerlRun works just fine.

There is the distinction between PerlRun with PerlRunOnce On and
PerlRunOnce Off. With it off there is a big speed boost, but our code is
dirty (and huge) and there are many instances where people don't declare
their variables without using them. So now the migration strategy revolves
around getting everything to PerlRun with PerlRunOnce Off.

There are two potential migration strategies:

The first one is that we have two types of files that are handled
differently, *.cgi (handled under PerlRun with PerlRunOnce On) and then
*.pr (handled under PerlRun with PerlRunOnce Off). The idea is that
everything runs under *.cgi in the beginning (which is the first step of
the migration), and then we slowly clean up files and put them into *.pr
files. The main problem is that because there's lots of references to
*.cgi everywhere, every file we cleaned up and renamed to *.pr would have
to have all of its referrers changed to do that (that's a lot of work).
The way around that would be to have ErrorDocument be a script that checks
that if a *.cgi file is requested, if a *.pr file is there then it is
redirected to this. This has problems as well, the main one being that
POST operations do not get "redirected" properly. Any obvious ways to
solve this problem?

The second strategy is to get mod_perl to compromise between the effects
of PerlRunOnce On and PerlRunOnce Off. Is there an easy for for PerlRun to
flush everything (including packages) that wasn't preloaded in the
startup.pl file? That would be a compromise between killing the child
everytime and keeping all the packages around.

Please help me with this! My internship depends on it! :) Thanks everyone.

Andrew Chen
Intern, Architecture
[EMAIL PROTECTED]
206-219-8445
The Cobalt Group, Inc. 




Reply via email to