无法在@INC中找到new.pm

时间:2013-01-18 15:27:13

标签: perl

我尝试在我的其他shell脚本中运行perl脚本,但我遇到了以下问题:

无法在@INC中找到new.pm(@INC包含:/usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 / usr / lib / perl5 / usr / share / perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 / usr / local / lib / site_perl

我已经专门设置了其他本地perl脚本的路径,即我的Perl脚本(test.pl)中的“new.pm”,但仍然出现错误。 (perl -V)显示了我本地Perl的路径。我还使用命令“PERL5LIB”在我的配置文件中设置了“new.pm”的路径。

但是,当我在命令行上运行脚本时:

./ test.pl它确实像魅力一样。

PS。 she-bang线正确设置。 PSS。平台:linux,OS_vers = 2.6.32-5-amd64

有任何意见吗?

1 个答案:

答案 0 :(得分:2)

有多种方法可以做到这一点,但我不认为设置路径就是其中之一。如果“new.pm”在/my/dir目录中,请尝试以下任何一项:

perl -I/my/lib script-that-calls-new.pl

use lib '/my/lib'; ## add this before "use new;"

BEGIN { push @INC, '/my/lib'; }; ## same as "use lib" example

export PERL5LIB=/my/lib:$PERL5LIB

该路径告诉您的shell在哪里查找可执行文件。上面的例子都告诉perl在哪里可以找到库。