加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在不在@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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读