我尝试在其他 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
Run Code Online (Sandbox Code Playgroud)
它确实有魅力。
附言。she-bang 线已正确设置。附言。平台:linux,OS_vers=2.6.32-5-amd64
有多种方法可以做到这一点,但我不认为设置路径是其中之一。如果“new.pm”在/my/lib目录中,请尝试以下任一操作:
perl -I/my/lib script-that-calls-new.pl
Run Code Online (Sandbox Code Playgroud)
或者
use lib '/my/lib'; ## add this before "use new;"
Run Code Online (Sandbox Code Playgroud)
或者
BEGIN { push @INC, '/my/lib'; }; ## same as "use lib" example
Run Code Online (Sandbox Code Playgroud)
或者
export PERL5LIB=/my/lib:$PERL5LIB
Run Code Online (Sandbox Code Playgroud)
该路径告诉您的 shell 在哪里查找可执行文件。上面的例子都告诉 perl 在哪里可以找到库。
| 归档时间: |
|
| 查看次数: |
11865 次 |
| 最近记录: |