perl - 如何从命令行覆盖 perl @INC

标签 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/

相关文章:

perl - 写入 Perl 中的数据部分

perl - 无法检查字符串中的模式

mysql - 如何在 perl 脚本中使用 UTF8 连接到 MySQL?

perl - File::Temp 文件名是否保证在整个进程中是唯一的?

Perl 数组(@data) 到变量($data)

windows - Perl 的反引号不能在 Windows 上运行,但在 Linux 上运行良好

macos - 使用 Perl 在 Mac OS 上读取实际文件创建日期

perl - 像主机文件一样覆盖特定域的 DNS,但不使用主机文件

R包用于简单内核平滑吗?

perl - 如何使用recursive_update