-
-
13 May 2009 02:29:50 UTC
- Distribution: mod_perl
- Module version: 1.07
- Source (raw)
- Browse (raw)
- Changes
- How to Contribute
- Issues (40)
- Testers (14 / 40 / 0)
- Kwalitee
Bus factor: 1- % Coverage
- License: unknown
- Activity
24 month- Tools
- Download (380.82KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- Dependencies
- unknown
- Reverse dependencies
- CPAN Testers List
- Dependency graph
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 torequire
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 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;
(oruse strict qw(...);
). Remember that you can addno 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 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 ALSO
mod_perl(3)
AUTHOR
Currently maintained by Ask Bjoern Hansen <ask@netcetera.dk>. Written by Doug MacEachern.
Module Install Instructions
To install mod_perl, copy and paste the appropriate command in to your terminal.
cpanm mod_perl
perl -MCPAN -e shell install mod_perl
For more information on module installation, please visit the detailed CPAN module installation guide.