如何动态更改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; 您还可以设置 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |