|libapache2-mod-perl2-2.0.11::docs::api::ModPerl::PerlRun(3pm)||User Contributed Perl Documentation||libapache2-mod-perl2-2.0.11::docs::api::ModPerl::PerlRun(3pm)|
ModPerl::PerlRun - Run unaltered CGI scripts under mod_perl
# httpd.conf PerlModule ModPerl::PerlRun Alias /perl-run/ /home/httpd/perl/ <Location /perl-run> SetHandler perl-script PerlResponseHandler ModPerl::PerlRun PerlOptions +ParseHeaders Options +ExecCGI </Location>
META: document that for now we don't chdir() into the script's dir, because it affects the whole process under threads. "ModPerl::PerlRunPrefork" should be used by those who run only under prefork MPM.
When running under the "ModPerl::PerlRun" handler "BEGIN" blocks behave as follows:
- "BEGIN" blocks defined in scripts running under the "ModPerl::PerlRun" handler are executed on each and every request.
- "BEGIN" blocks defined in modules loaded from scripts running under "ModPerl::PerlRun" (and which weren't already loaded prior to the request) are executed on each and every request only if those modules declare no package. If a package is declared "BEGIN" blocks will be run only the first time each module is loaded, since those modules don't get reloaded on subsequent requests.
See also "BEGIN" blocks in mod_perl handlers.
"CHECK" and "INIT" Blocks¶
Same as normal mod_perl handlers.
Same as "ModPerl::Registry".
"ModPerl::RegistryCooker" and "ModPerl::Registry".