The array @INC
contains the list of places that the do EXPR
, require
, or use
constructs look for their library files. It initially consists of the arguments to any -I command-line switches, followed by the default Perl library, probably /usr/local/lib/perl, followed by ".", to represent the current directory. ("." will not be appended if taint checks are enabled, either by -T
or by -t
, or if configured not to do so by the -Ddefault_inc_excludes_dot
compile time option.) If you need to modify this at runtime, you should use the use lib
pragma to get the machine-dependent library properly loaded also:
use lib '/mypath/libdir/';
use SomeMod;
You can also insert hooks into the file inclusion system by putting Perl code directly into @INC
. Those hooks may be subroutine references, array references or blessed objects. See "require" in perlfunc for details.