我在perl
执行diff
命令。如何在Perl中执行命令失败时读取stderr?
my @lines = `/usr/local/bin/diff -udr \"$expected_file\" \"$gen_file\"`;
if ($? != 0)
{
print ERRFILE "Diff between $expected_file and $gen_file failed\n";
return $diff_err;
}
这里diff
可能会因为某种原因失败。例如:stderr显示/usr/local/bin/diff:test.txt:没有这样的文件或目录。我想在程序中阅读这条消息。我如何找到diff
命令(或grep
或我执行的任何命令)的stderr消息?
提前感谢帮助。
感谢, 马修礼居