【问题标题】:including perl module in a different directory in a single location which can be used for multiple files在单个位置的不同目录中包含 perl 模块,可用于多个文件
【发布时间】:2016-09-09 09:40:09
【问题描述】:

让我描述一下我的问题。

我创建了一个新的 perl 模块 例如:

模块:sample/lib/module/sample.pm

setenv SAMPLE /local/username/sample

我在多个文件中使用这个模块并且正在使用

使用库 "$ENV{'SAMPLE'}/lib";

在我使用该模块的每个文件中。

有没有更好的解决方案?而不是在每个文件中添加要搜索的 lib 位置。

我尝试将它添加到调用其他脚本的主脚本中,但它不起作用。我得到错误 lib not found @INC。

【问题讨论】:

    标签: perl


    【解决方案1】:

    基本上有三种方法可以操作 Perl 的 @INC 变量(这就是您在此处尝试执行的操作)。

    1. 您可以在程序中使用use lib。这可能是最好的方法,但它可能会导致不得不编辑大量文件(如您所见)。
    2. 您可以使用-I 命令行选项(当您调用Perl 或在您的shebang 行时)。我很少看到使用这种方法。
    3. 您可以将PERL5LIB 环境变量设置为以冒号分隔的目录列表。这意味着您不必将目录硬编码到每个文件中,但您需要确保在执行程序之前正确设置环境。

    我认为在您的情况下,我会考虑选项 3。

    【讨论】:

    • 感谢戴夫的回答。我会试试这个。
    猜你喜欢
    • 2010-10-24
    • 2016-12-13
    • 2012-05-22
    • 2011-08-29
    • 2019-05-30
    • 2014-02-05
    • 2023-03-18
    • 1970-01-01
    • 2010-12-25
    相关资源
    最近更新 更多