Jan*_*kie 3 perl initialization
我正在清理一些代码,我在服务器日志中看到perl错误是......
Use of uninitialized value in string eq at .....
Run Code Online (Sandbox Code Playgroud)
看代码这条线看起来像这样....
if ($level1 eq $level2) {
Run Code Online (Sandbox Code Playgroud)
好,可以.我想我的问题是这个.问题是$ level1还是$ level2?
我写了一个快速测试试图在本地复制它,看起来像这样....
#!/usr/bin/perl
use warnings;
my $a;
my $b;
if ($a eq $b){
print "....";
}
Run Code Online (Sandbox Code Playgroud)
而且我得到了更多信息错误.
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.
Run Code Online (Sandbox Code Playgroud)
这似乎是不一致的行为.有人有线索吗?珍妮
yst*_*sth 10
在perl 5.10中警告(很容易)添加了哪个变量undef的指示(为了欢呼).您的服务器可能使用较旧的perl.