在perl中,我们可以做到:
使用lib LIST;
包含@INC中的路径列表.同样,我们可以这样做:
如果CONDITION,MODULE => ARGUMENTS,则使用;
有条件地包括一个模块.
是否有可能混合两者,比如
如果条件,列表使用lib;
有条件地包括路径列表.这似乎不起作用.
编辑:对不起,但我还是不能让它运转起来.这就是我在做的事情,但它不起作用.你能告诉我有什么问题吗?
use Data::Dumper;
BEGIN {
my $env=$ENV{'ENV'};
use if $env eq 'OLD', lib => '/home/vivek/OLD';
use if $env eq 'NEW', lib => '/home/vivek/NEW';
}
print Dumper \@INC;
Run Code Online (Sandbox Code Playgroud)
Bor*_*din 10
if是一个单独的模块(严格意义上是一个pragma),它将该行的其余部分作为参数.lib也是一个单独的pragma.看一下记录的语法use if CONDITION, MODULE => ARGUMENTS,你会看到你应该写的是什么
use if CONDITION, lib => LIST;
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.