这是我试图解决提出的无关问题“为什么我的系统调用不能在我用 pp 包装的 Perl 程序中工作?” 我在 linux 系统上创建了一个简单的 Perl 脚本:
new-net:~/scripts # cat ls_test.pl
@ls_out = `ls -l`;
map { print "$_\n" } @ls_out;
$out = `sh out_test.sh`;
print "$out\n";
该脚本调用一个简单的 shell 文件:
new-net:~/scripts # cat out_test.sh
echo "I'm here"
我使用 pp 将 Perl 脚本与 shell 脚本一起打包到 ls_test 中:
new-net:~/test # 解压 -l ls_test 存档:ls_test 长度 日期 时间 名称 -------- ---- ---- ---- 0 07-13-09 16:41 脚本/ 436 07-13-09 16:41 清单 214 07-13-09 16:41 META.yml 93 07-13-09 16:41 脚本/ls_test.pl 538 07-13-09 16:41 脚本/main.pl 16 07-13-09 16:20 out_test.sh -------- -------- 1297 6 档
如果我在一个空目录中运行打包文件,则找不到 shell 脚本:
新网:~/test # ./ls_test 总计 3391 -rwxr-xr-x 1 root root 3466177 Jul 13 16:41 ls_test sh: out_test.sh: 没有这样的文件或目录
如果我将 shell 脚本复制到目录中,打包的脚本会按预期运行:
新网:~/test # ./ls_test
总计 3395 -rwxr-xr-x 1 root root 3466177 Jul 13 16:41 ls_test -rw-r--r-- 1 根 16 Jul 13 16:20 out_test.sh 我在这
那么,pp
打包的脚本希望在哪里找到包含的文件?以及如何在原始 Perl 脚本中配置对该包含文件的调用?