我正在编写Perl脚本,当我有太多函数时,我通常将它们全部移动到一个库中(也适用于代码重用)。因此,我通常会创建一个包(例如my_lib.pm
)并将use lib 'path/to/lib'; use my_lib;
添加到我的脚本中。
我想知道是否可以跳过use lib 'path/to/lib';
,因为我重组了目录层次结构,有时会给我带来麻烦,并让Perl在运行脚本的同一目录中查找包。
谢谢。
答案 0 :(得分:1)
首先,我建议你 - “永远不要搞乱Core Perl及其库 - 永远不要把你的lib放在那里”。
如果您希望脚本查看当前目录,请使用如下:
require "mylibrary/functions.pm";
其中mylibrary是一个与调用者脚本存在相同路径的目录。
答案 1 :(得分:0)
我会把我的.pm文件放到一个目录中,这样你就可以使用来自Perl的ifps,无论它们的位置如何。
然后使用该目录的名称创建一个环境变量PERL5LIB。
答案 2 :(得分:-1)
你需要
use lib '.';