如何在不在@INC中的目录中使用Perl模块?

前端之家收集整理的这篇文章主要介绍了如何在不在@INC中的目录中使用Perl模块?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的脚本的父目录中有一个模块,我想“使用”它。

如果我做

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;

猜你在找的Perl相关文章