@INC没有阅读$ PERL5LIB

时间:2018-03-29 17:47:44

标签: perl module tcsh

我正在尝试使用$PERL5LIB将目录添加到我的@INC数组中。我正在使用tcsh shell并将以下命令添加到我的.cshrc脚本

set PERL5LIB = /home/user/perl5/lib/perl5

这似乎有效,直到$echo $PERL5LIB显示添加到$PERL5LIB变量的路径。但是运行脚本仍然会给我带来同样的错误:

Can't locate Spreadsheet/ParseExcel.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at regs_gen.pl line 55. BEGIN failed--compilation aborted at regs_gen.pl line 55.

显然$PERL5LIB未附加到@INC数组。我已经能够使用Perl的-I命令行参数运行我的脚本,如下所示,但我正在寻找一个更方便的解决方案。

perl -I /home/user/perl5/lib/perl5 scriptname.pl

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

perl -V

资本“-V”看起来像你的朋友在perlrun中记录的那样。

它的尾随行包括%ENV和@INC的有用部分。

...
Built under linux
Compiled at Mar  1 2016 17:15:04
%ENV:
  PERL5LIB="/home/ron/lib"
  PERLBREW_BASHRC_VERSION="0.78"
  PERLBREW_HOME="/home/ron/.perlbrew"
  ... (more environment variables)
@INC:
  /home/ron/lib
  /etc/perl
  /usr/local/lib/perl/5.18.2
  /usr/local/share/perl/5.18.2
  ... (more @INC paths)
  /usr/local/lib/site_perl
  .