Perl模块不是从自定义lib路径中获取的

时间:2013-02-26 09:53:47

标签: perl perl-module

我已将Perl安装到自定义目录ang set export_path中。现在which perl显示自定义路径,Perl -V显示自定义路径和@INC显示的详细信息,如custompath / lib / 5.8.9等。

问题是,当我运行包含像DBI这样的perl模块的perl脚本时,我得到的错误就像

> Can't locate DBI.pm in @INC (@INC contains:
> /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl
> /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl
> /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .)

为什么它没有将 @INC 显示为自定义路径以及为什么会抛出错误?

1 个答案:

答案 0 :(得分:2)

看起来你正在使用perl -V的一个Perl版本,以及一个不同的版本来实际执行你的脚本。

perl -V(和perl script.pl)正在使用PATH中的第一个perl,而script.pl使用脚本上的perl表示#! {{1}} 1}})行。

这可能只是调整脚本的shebang行的问题。