我的脚本的父目录中有一个模块,我想“使用”它。
If I do
use '../Foo.pm';
我收到语法错误。
我尝试这样做:
push @INC, '..';
use EPMS;
并且..显然没有出现在@INC中
我要疯了!这是怎么回事?
use
发生在编译时,所以这可以工作:
BEGIN {push @INC, '..'}
use EPMS;
但更好的解决方案是use lib
,这是上面的更好的写法:
use lib '..';
use EPMS;
但是,如果您从不同的目录运行,则使用FindBin
被推荐:
use FindBin; # locate this script
use lib "$FindBin::RealBin/.."; # use the parent directory
use EPMS;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)