我的Windows机器上安装了perl版本v5.8.3。 在运行具有以下代码的perl脚本时,失败。
if(-e $file1)
我知道这会检查file1
是否存在。
错误刚刚显示“perl命令失败”。没有其他的。
能帮到我吗
答案 0 :(得分:2)
您使用的是2004年的Perl版本。您应该认真考虑升级。
像-e
这样的文件测试运算符已经成为Perl的一部分很长一段时间了。它们肯定得到Perl 5.8.3的支持。
你说你的错误是“perl命令失败”。这不是由Perl生成的错误,因此我怀疑此处还有其他事情你没有告诉我们(大概是因为你觉得它不重要)。
如果我不得不猜测为什么你的-e
测试失败了,我会说这是因为$file1
不包含有关可以找到文件的目录的任何信息,因此Perl正在寻找错误的地方。也许您可以使用以下代码获取更多信息:
use Cwd;
if (-e $file1) {
...
} else {
die "Can't find file: " . cwd() . '/' . $file1;
}
这将显示Perl查找文件的位置。