反引号不会返回perl中的任何值

时间:2012-02-16 00:04:22

标签: perl

我在Cygwin环境中编写了一个perl脚本。在里面,我使用反引号来执行另一个程序,并将返回值赋给变量。两周前我在cygwin中升级了一些软件包之前它工作正常。现在反引号不会返回任何值。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

尝试检查$?的值。它包含执行的最后一个外部命令的返回码,但是它被重载以包含额外的信息,例如杀死命令的信号以及是否存在核心转储等。

实际的返回代码可以通过

获得
my $return_code = $? >> 8;

如果它为零,则命令执行成功,否则,这是commadn退出的错误状态(例如,int在main(中​​返回的内容)。