如何在不在@INC中的目录中使用Perl模块?
发布时间:2020-12-15 21:27:54 所属栏目:大数据 来源:网络整理
导读:我在我的脚本的父目录中有一个模块,我想“使用”它。 如果我做 use '../Foo.pm'; 我得到语法错误。 我试图做: push @INC,'..';use EPMS; 和..显然不会出现在@INC 我要疯了!这里有什么问题? 解决方法 使用发生在编译时,所以这将工作: BEGIN {push @INC,
我在我的脚本的父目录中有一个模块,我想“使用”它。
如果我做 use '../Foo.pm'; 我得到语法错误。 我试图做: push @INC,'..'; use EPMS; 和..显然不会出现在@INC 我要疯了!这里有什么问题? 解决方法
使用发生在编译时,所以这将工作:
BEGIN {push @INC,'..'} use EPMS; 但更好的解决方案是使用lib,这是一个更好的方式写上面的: use lib '..'; use EPMS; 但是,如果您从不同的目录运行,建议使用FindBin: use FindBin; # locate this script use lib "$FindBin::RealBin/.."; # use the parent directory use EPMS; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |