我有一个名为 master.pl 的perl脚本,它包含以下代码行
#!/usr/local/bin/perl
use strict;
system("perl /proj/scripts/slave.pl");
我使用命令制作了 master.pl 的二进制可执行文件:
pp -b -B -o master master.pl
我在其他服务器上复制此可执行文件(因为pp命令在其他服务器上不可用,所以我在我的linux系统上进行了可执行文件(。当我运行主控时,它给了我错误
*无法在@INC中找到 strict.pm(@INC包含:/usr/local/lib64/perl5 ....
这里的问题是 slave.pl 包含使用严格; 并且@INC显示在该服务器上无效的路径。
有没有办法解决这个问题?我不想使 slave.pl 的可执行文件。当它调用时,我怎样才能使主的可执行文件 ''' system("perl/proj/scripts/slave.pl"(; ''' 那么它应该在@INC中具有有效的路径
问题system "perl …
.这执行了错误的 Perl。请改用$^X
。