加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 20:53:54 所属栏目:大数据 来源:网络整理
导读: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?i

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?timeWhen?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?otherlibdirsBoth?must?be?specified?when?calling?Configure?as?a?define,?eg> sh Configure -Dotherlibdirs=/opt/special/plibThe?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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读