PerlRun(3)
NAME
Apache::PerlRun - Run unaltered CGI scripts under mod_perl
SYNOPSIS
#in httpd.conf
Alias /cgi-perl/ /perl/apache/scripts/
PerlModule Apache::PerlRun
<Location /cgi-perl>
SetHandler perl-script
PerlHandler Apache::PerlRun
Options +ExecCGI
#optional
PerlSendHeader On
...
</Location>
DESCRIPTION
This module's handler emulates the CGI environment, allowing program-
mers to write scripts that run under CGI or mod_perl without change.
Unlike Apache::Registry, the Apache::PerlRun handler does not cache the
script inside of a subroutine. Scripts will be "compiled" every
request. After the script has run, it's namespace is flushed of all
variables and subroutines.
The Apache::Registry handler is much faster than Apache::PerlRun. How-
ever, Apache::PerlRun is much faster than CGI as the fork is still
avoided and scripts can use modules which have been pre-loaded at
server startup time. This module is meant for "Dirty" CGI Perl scripts
which relied on the single request lifetime of CGI and cannot run under
Apache::Registry without cleanup.
CAVEATS
If your scripts still have problems running under the Apache::PerlRun
handler, the PerlRunOnce option can be used so that the process running
the script will be shutdown. Add this to your httpd.conf:
<Location ...>
PerlSetVar PerlRunOnce On
...
</Location>
SEE ALSO
perl(1), mod_perl(3), Apache::Registry(3)
AUTHOR
Doug MacEachern
perl v5.8.6 1999-01-17 Apache::PerlRun(3)
Man(1) output converted with
man2html