Apache::PerlRun(3) User Contributed Perl Documentation Apache::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 programmers 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. However, 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.8 2007-07-17 Apache::PerlRun(3)
Mac OS X 10.5 Server - Generated Sun Jun 15 13:13:40 CDT 2008