我收到这个警告:
Use of uninitialized value in eval \"string\" at myscript.pl line 57.
当我运行这段代码时:
eval;
{
`$client -f $confFile -i $inputFile -o $outputFile`;
};
if( $@ )
{
# error handling here ...
}
是什么导致了错误?
如何解决根本原因? (或者以其他方式抑制警告?)
最佳答案
这里的 eval 无论如何都不会做任何事情。反引号永远不会抛出错误。您要检查的不是 $@
而是 $?
。
此外,如果您要丢弃结果,使用 system 可能是一个更简洁的主意.例如
system($client, '-f', $confFile, '-i', $inputFile, '-o', $outputFile) and do {
#error handling here...
};
关于perl - 为什么我的脚本报告 'uninitialized value in eval "字符串”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/303841/