6种方法配置perl的@INC变量

Objectives
Run a perl script using libraries in non standard locations.
We use the location /opt/special/plib for our samples.
Perl uses by default the array @INC as include path when searching for modules to load. 
This path is
compiled into the perl binary when building it from source and can be printed by running 
perl -V, which will show something like:
..
Compiled at Jan 24 2004 21:39:16
@INC:
/etc/perl
/usr/lib/perl5/site_perl/5.8.0/i686-linux
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl/5.6.1
..
1. Using the module lib
The standard module lib can be used to specify an explicit path to include. It must be stated at the 
top of the script:
#!/usr/bin/perl
#
use lib "/opt/special/plib";
use strict;
use warnings;
..

2. Using the switch  I at the command line
The switch  I can be used to specify additional library locations when invoking the interpreter.
perl -I /opt/special/plib script.pl

3. Using the switch  I in the first line of the script
The same  I switch can be added to the interpreter specification.
#!/usr/bin/perl -I /opt/special/plib
#
use strict;
use warnings;
..
This works when invoking the script via the shell (which will run the interpreter with full 
options and arguments as specified in the first line) and also when invoking the interpreter 
directly: It apparently scans the first line for options.
4. Manipulating @INC directly
The array @INC can be manipulated directly using array operations
#!/usr/bin/perl
#
BEGIN {
unshift(@INC, "/opt/special/plib");
}
use strict;
use warnings;
This is the same as using the module lib, which in fact does something like this.
5. Using the environment variable PERL5LIB
The environment variable PERL5LIB can be used to specify additional include directories when 
running a perl script.
> export PERL5LIB=/opt/special/plib
> /path/to/script.pl

 

(注:如果是widows版本,则使用:set PERL5LIB=...)


6. Changing @INC at compile time
When running Configure to compile the perl interpreter itself, there are several possibilities to add 
additional library path elements:
• Using the variable vendorprefix
• Using the variable otherlibdirs
Both must be specified when calling Configure as a define, eg
> sh Configure -Dotherlibdirs=/opt/special/plib
The variable otherlibdirs is preferred, as it can hold mutliple values separated by a colon just like 
the familiar PATH environment variable.
Details about compiling perl can be found on the CPAN network : 
http://search.cpan.org/~nwclark/perl 5.8.3/INSTALL.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值