在perl中使用带有if pragma的lib

前端之家收集整理的这篇文章主要介绍了在perl中使用带有if pragma的lib前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在perl中,我们可以做到:

use lib LIST;

包含@INC中的路径列表.同样,我们可以这样做:

use if CONDITION,MODULE => ARGUMENTS;

有条件地包括一个模块.

是否有可能混合两者,比如

use lib if CONDITION,LIST;

有条件地包括路径列表.这似乎不起作用.

编辑:
对不起,但我还是不能让它运转起来.这就是我在做的事情,但它不起作用.你能告诉我有什么问题吗?

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;

解决方法

if是一个单独的模块(严格意义上是一个pragma),它将该行的其余部分作为参数. lib也是一个单独的pragma.如果CONDITION,MODULE =>,请查看记录的语法用法. ARGUMENTS,你会看到你应该写的是
use if CONDITION,lib => LIST;

哪个工作正常.

猜你在找的Perl相关文章