在perl脚本中包含.pm文件

时间:2014-07-28 05:40:04

标签: perl

我有一些存储在动态路径中的.pm文件。例如:

/home/scripts/project_pm_files

现在我有一个perl脚本,必须包含所有这些.pm文件。

请告诉我一种包含这些文件的方法,因为这些文件的位置是动态的,这意味着这些.pm文件没有固定的路径。

3 个答案:

答案 0 :(得分:2)

$PERL5LIB环境变量设置为每个系统上的正确路径。

答案 1 :(得分:1)

use lib /home/scripts/project_pm_files;添加到您的脚本中。然后您可以使用use xxx.pm来包含模块。

答案 2 :(得分:1)

使用lib编译指示,将路径传递给pm文件。请注意,您必须在BEGIN块中执行此操作,以便在脚本编译期间对其进行评估。那是因为在编译期间会评估use语句。

my $path;
BEGIN { $path = find_project_pm_files(); }
use lib $path;

use my_module_1;
...
use my_module_n;

如果您的pm文件始终与主脚本相关,则可以使用FindBin module:

use FindBin;
use lib "$FindBin::Bin/../lib";