StatINC(3)
NAME
Apache::StatINC - Reload %INC files when updated on disk
SYNOPSIS
#httpd.conf or some such
#can be any Perl*Handler
PerlInitHandler Apache::StatINC
DESCRIPTION
When Perl pulls a file via "require", it stores the filename in the
global hash %INC. The next time Perl tries to "require" the same file,
it sees the file in %INC and does not reload from disk. This module's
handler iterates over %INC and reloads the file if it has changed on
disk.
Note that StatINC operates on the current context of @INC. Which
means, when called as a Perl*Handler it will not see @INC paths added
or removed by Apache::Registry scripts, as the value of @INC is saved
on server startup and restored to that value after each request. In
other words, if you want StatINC to work with modules that live in cus-
tom @INC paths, you should modify @INC when the server is started.
Besides, 'use lib' in startup scripts, you can also set the PERL5LIB
variable in the httpd's environment to include any non-standard 'lib'
directories that you choose. For example, you might use a script
called 'start_httpd' to start apache, and include a line like this:
PERL5LIB=/usr/local/foo/myperllibs; export PERL5LIB
When you have problems with modules not being reloaded, please refer to
the following lines in 'perlmodlib':
"Always use -w. Try to "use strict;" (or "use strict qw(...);").
Remember that you can add "no strict qw(...);" to individual blocks of
code that need less strictness. Always use -w. Always use -w! Follow
the guidelines in the perlstyle(1) manual."
Warnings when running under mod_perl is enabled with 'PerlWarn On' in
your httpd.conf.
It will most likely help you to find the problem. Really.
OPTIONS
StatINC_UndefOnReload
Normally, StatINC will turn of warnings to avoid "Subroutine rede-
fined" warnings when it reloads a file. However, this does not
disable the Perl mandatory warning when re-defining "constant" sub-
routines (see perldoc perlsub). With this option On, StatINC will
invoke the Apache::Symbol undef_functions method to avoid these
mandatory warnings:
PerlSetVar StatINC_UndefOnReload On
StatINC_Debug
You can make StatINC tell when it reloads a module by setting this
option to on.
PerlSetVar StatINC_Debug 1
The only used debug level is currently 1.
SEE ALSO
mod_perl(3)
AUTHOR
Currently maintained by Ask Bjoern Hansen <ask@netcetera.dk>. Written
by Doug MacEachern.
perl v5.8.6 1999-01-17 Apache::StatINC(3)
Man(1) output converted with
man2html