2

我收到此警告:

Use of uninitialized value in eval \"string\" at myscript.pl line 57.

当我运行此代码时:

eval;
{
        `$client -f $confFile -i $inputFile -o $outputFile`;
};

if( $@ )
{
        # error handling here ...
}

是什么导致了错误?

我该如何解决根本原因?(或者以其他方式抑制警告?)

4

2 回答 2

12

无论如何,这里的 eval 绝对不会做任何事情。反引号从不抛出错误。这不是$@$?想要检查的。

此外,如果您要丢弃结果,使用system可能是一个更清洁的想法。例如

system($client, '-f', $confFile, '-i', $inputFile, '-o', $outputFile) and do {
    #error handling here...
};
于 2008-11-20T00:37:20.230 回答
10

后面有一个分号eval

于 2008-11-19T23:53:11.847 回答