<分区>
如何从命令行用我的路径覆盖@INC 内容。如果我使用“-I”选项,它只会添加到默认路径。
标签 perl
<分区>
如何从命令行用我的路径覆盖@INC 内容。如果我使用“-I”选项,它只会添加到默认路径。
最佳答案
我不知道你为什么要从 @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
将 ...
替换为一个表达式,如果您想在 @INC
中保留 $_
中的路径,则该表达式返回 true。
关于perl - 如何从命令行覆盖 perl @INC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19837305/