我在Cygwin环境中编写了一个perl脚本。在里面,我使用反引号来执行另一个程序,并将返回值赋给变量。两周前我在cygwin中升级了一些软件包之前它工作正常。现在反引号不会返回任何值。有什么想法吗?
答案 0 :(得分:4)
尝试检查$?的值。它包含执行的最后一个外部命令的返回码,但是它被重载以包含额外的信息,例如杀死命令的信号以及是否存在核心转储等。
实际的返回代码可以通过
获得my $return_code = $? >> 8;
如果它为零,则命令执行成功,否则,这是commadn退出的错误状态(例如,int在main(中返回的内容)。