@INC未读取$PERL5LIB
我正在尝试使用@INC未读取$PERL5LIB,perl,module,tcsh,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/
$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
感谢您的帮助 perl-V
大写“-V”看起来像你的朋友在这里记录的
它的尾随行包括%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
.
perl-V
大写“-V”看起来像你的朋友在这里记录的
它的尾随行包括%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
.
谢谢成功了!但我有一个问题。setenv允许子shell访问定义的变量。那么这是否意味着将$PERL5LIB变量附加到@INC是作为perl命令完成的,这就是为什么setenv可以工作而set不能工作的原因?变量PERL5LIB需要传递给Perl子shell。谢谢!成功了!但我有一个问题。setenv允许子shell访问定义的变量。那么这是否意味着将$PERL5LIB变量附加到@INC是作为perl命令完成的,这就是为什么setenv可以工作而set不能工作的原因?变量PERL5LIB需要传递给Perl子shell。