我正在清理一些代码,我在服务器日志中看到perl错误是。。。
Use of uninitialized value in string eq at .....
看看代码,行看起来是这样的。。。。
if ($level1 eq $level2) {
好的,很公平。我想我的问题是这样的。问题出在$level1还是$level2?
我写了一个快速测试,试图在本地复制它,它看起来是这样的。。。。
#!/usr/bin/perl
use warnings;
my $a;
my $b;
if ($a eq $b){
print "....";
}
我得到了一个信息量更大的错误。
Use of uninitialized value $a in string eq at ./warntest.cgi line 7.
Use of uninitialized value $b in string eq at ./warntest.cgi line 7.
这似乎是不一致的行为。有人知道线索吗?Janie
在perl5.10中,哪个变量未定义的指示被添加到了警告中(在可能的情况下)(非常令人高兴)。您的服务器可能使用了一个较旧的perl。