在另一个目录中设置perl包

时间:2012-07-17 13:27:22

标签: perl

我正在考虑用Perl重写一个旧的应用程序。

设置三个软件包并从中运行子程序对我将要做的事情很有意义,但我对设置软件包不是很熟悉。

我希望这些包与我的其他Perl脚本位于同一个地方,即除了这个bin目录中的脚本之外什么都不需要调用这些包。

我的问题是如何指出Perl知道我的软件包在哪里(以及如何将它们安装在默认位置以外的地方)这是一件好事/聪明的事情吗?

2 个答案:

答案 0 :(得分:4)

这是一项常见任务。 PERL5LIB环境变量包含要查找模块的目录列表。您还可以使用lib pragma指定特定脚本应在模块中查找的目录:

#!/usr/bin/perl

use strict;
use warnings;
use lib "$ENV{HOME}/lib";

您可能还想查看cpanmlocal::lib

答案 1 :(得分:2)

如果包和脚本位于同一位置,我建议使用FindBin

use FindBin '$Bin';
use lib $Bin;