NAME
lib - manipulate @INC at compile time
SYNOPSIS
use lib LIST;
no lib LIST;
DESCRIPTION
This is a small simple module which simplifies the manipulation of
+ @INC
at compile time.
It is typically used to add extra directories to perl's search pat
+h so
that later "use" or "require" statements will find modules which a
+re not
located on perl's default search path.
Adding directories to @INC
The parameters to "use lib" are added to the start of the perl sea
+rch
path. Saying
use lib LIST;
is *almost* the same as saying
BEGIN { unshift(@INC, LIST) }
For each directory in LIST (called $dir here) the lib module also
+checks
to see if a directory called $dir/$archname/auto exists. If so the
$dir/$archname directory is assumed to be a corresponding architec
+ture
specific directory and is added to @INC in front of $dir.
To avoid memory leaks, all trailing duplicate entries in @INC are
removed.
Deleting directories from @INC
You should normally only add directories to @INC. If you need to d
+elete
directories from @INC take care to only delete those which you add
+ed
yourself or which you are certain are not needed by other modules
+in
your script. Other modules may have added directories which they n
+eed
for correct operation.
The "no lib" statement deletes all instances of each named directo
+ry
from @INC.
For each directory in LIST (called $dir here) the lib module also
+checks
to see if a directory called $dir/$archname/auto exists. If so the
$dir/$archname directory is assumed to be a corresponding architec
+ture
specific directory and is also deleted from @INC.
Restoring original @INC
When the lib module is first loaded it records the current value o
+f @INC
in an array "@lib::ORIG_INC". To restore @INC to that value you ca
+n say
@INC = @lib::ORIG_INC;
SEE ALSO
FindBin - optional module which deals with paths relative to the s
+ource
file.
AUTHOR
Tim Bunce, 2nd June 1995.
perlfaq-q INC
How do I add a directory to my include path at runtime?
Here are the suggested ways of modifying your include path
+:
the PERLLIB environment variable
the PERL5LIB environment variable
the perl -Idir command line flag
the use lib pragma, as in
use lib "$ENV{HOME}/myown_perllib";
The latter is particularly useful because it knows about m
+achine
dependent architectures. The lib.pm pragmatic module was f
+irst
included with the 5.002 release of Perl.
How To Read The Friendly Manual which has at least 90% of all the answers
|