【问题标题】:importing an class from the same directory in Perl [duplicate]从 Perl 中的同一目录导入一个类 [重复]
【发布时间】:2020-03-25 11:21:37
【问题描述】:

我有一个包含 main.pl 和 Product.pl 的目录。在 main.pl 中,我尝试导入 Product 类,但是当我运行 perl main.pl 时执行失败,抱怨无法在 @INC 中找到 Product.pm。我的目录不在@INC 列表中。我该如何解决这个问题?

【问题讨论】:

  • 重复问题的答案并没有真正回答这个问题,所以我的答案是使用lib::relative 或其文档中描述的机制。

标签: linux perl oop


【解决方案1】:

创建一个本地子目录,将其命名为lib 并将您的模块文件放在那里。在较新的 Perls 上,您必须告诉 Perl 将该本地目录包含到 @INC,或者通过某种方式将其添加到 PERL5LIB(环境变量),或者通过添加

use lib qw( . );

到要加载该模块的脚本。如果你偏执,你也可以使用绝对路径。

【讨论】:

  • 不,他们想要脚本的目录,而不是 CWD。​​span>
【解决方案2】:

您已经在抱怨中得到了一些帮助,模块的文件名应该以.pm 结尾。现在你需要寻找变量PERL5LIB=???的用途。

PERL5LIB

【讨论】:

    猜你喜欢
    • 2012-03-22
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    相关资源
    最近更新 更多