可以赋值给 $! Perl 中的错误?
例如。,
if( ! (-e $inputfile))
{
$! = "Input file $inputfile appears to be non-existent\n";
return undef;
}
这样我就可以处理顶层的所有错误。
谢谢。
最佳答案
如果你赋值给 $!,它被放置在系统 errno 变量中,它只接受数字。所以你实际上可以这样做:
use Errno "EEXIST";
$! = EEXIST;
print $!;
并获取定义的系统错误号的字符串值,但您不能做您想做的事 - 将其设置为任意字符串。这样的字符串会给你一个参数“...”在标量赋值警告中不是数字,并将 errno 设置为 0。
另一个问题是 $!可以被任何系统调用改变。因此,您只能相信它具有您设置的值,直到您进行打印或其他任何事情。您可能想要自己的错误变量。
关于perl - 分配给 $!在 Perl 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1044846/