Apache::StatINCUser Contributed Perl DocumentatApache::StatINC(3)NAMEApache::StatINC - Reload %INC files when updated on disk
SYNOPSIS
#httpd.conf or some such
#can be any Perl*Handler
PerlInitHandler Apache::StatINCDESCRIPTION
When Perl pulls a file via "require", it stores the file
name 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::Reg
istry 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 custom "@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 "Sub
routine redefined" warnings when it reloads a file.
However, this does not disable the Perl mandatory
warning when re-defining "constant" subroutines (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 ALSOmod_perl(3)AUTHOR
Currently maintained by Ask Bjoern Hansen
<ask@netcetera.dk>. Written by Doug MacEachern.
2001-06-14 mod_perl-1.27 Apache::StatINC(3)