让我描述一下我的问题。
我创建了一个新的perl模块 例如:
模块:sample / lib / module / sample.pm
setenv SAMPLE / local / username / sample
我在多个文件中使用此模块并使用
使用lib“$ ENV {'SAMPLE'} / lib”;
在我使用模块的每个文件中。
有更好的解决方案吗?而不是在每个文件中添加要搜索的lib位置。
我尝试在主脚本中添加它,调用其他脚本,但它不起作用。我收到错误lib找不到@INC。
答案 0 :(得分:1)
基本上有三种方法可以操纵Perl的@INC
变量(这是你在这里尝试做的)。
use lib
。这可能是最好的方法,但它可能导致必须编辑大量文件(正如您已经解决的那样)。-I
命令行选项(在您调用Perl时或在您的shebang行上)。我很少见到这种方法。PERL5LIB
环境变量设置为以冒号分隔的目录列表。这意味着您可以避免将目录硬编码到每个文件中,但是在执行程序之前需要确保正确设置了环境。我认为在你的情况下,我会考虑选项3。