加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何动态更改Perl模块路径?

发布时间:2020-12-15 22:02:41 所属栏目:大数据 来源:网络整理
导读:我有两个不同版本的Perl模块.目前,关键脚本使用由环境变量指定的模块版本,系统依赖于不同用户运行的不同任务.用户的环境将决定使用哪个版本的Perl模块. 现在我想将其更改为在Perl脚本中指定的版本,即根据所传递的选项.不幸的是,这样的代码: if ($new){ use
我有两个不同版本的Perl模块.目前,关键脚本使用由环境变量指定的模块版本,系统依赖于不同用户运行的不同任务.用户的环境将决定使用哪个版本的Perl模块.

现在我想将其更改为在Perl脚本中指定的版本,即根据所传递的选项.不幸的是,这样的代码:

if ($new){ use lib "newdir"; }
else{ use lib "olddir"; }
use module;

不行Perl只需将newdir,然后将olddir追加到@INC,然后运行该脚本.

如何动态指定要使用的模块?

解决方法

您需要使用BEGIN {}块,以便您的if-else代码将在编译时运行:
BEGIN {
    if ($new) { unshift @INC,"newdir"; }
    else {      unshift @INC,"olddir"; }
}
use module;

您还可以设置PERL5LIB环境变量,以便您不必在脚本中执行此类配置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读