前端之家收集整理的这篇文章主要介绍了
如何动态更改Perl模块路径?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个不同版本的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
环境变量,以便您不必在脚本中执行此类配置.
原文链接:https://www.f2er.com/Perl/171570.html