3

如何使用命令行中的路径覆盖 @INC 内容。如果我使用“-I”选项,它只会添加到默认路径。

4

2 回答 2

4

我不知道你为什么要从@INC. 较早路径中的@INC模块会覆盖较晚路径中的模块,因此通常只需添加到前面@INC

export PERL5LIB=path2:path2
script ...

   -or-

PERL5LIB=path2:path2 script ...

   -or-

perl -Mlib=path1,path2 script ...

   -or-

# Doesn't add arch subdirs automatically!
perl -Ipath1 -Ipath2 script ...

但是可以做你想做的事。

perl -e'
   @INC = grep { ... } @INC;
   do(shift(@ARGV))
      or die "Error attempting to execute script: $@\n";
' script arg arg

...如果要将路径保留在 in 中,请替换返回 true$_的表达式@INC

于 2013-11-07T15:22:46.090 回答
0
$ export PERL5LIB=/custom/dir:/another/custom/dir;
$ perl script.pl
于 2013-11-07T13:41:12.643 回答