我是Perl的新手,我试图找到两个片段之间的区别:
$string && $string eq 'foo'
$string eq 'foo'
Run Code Online (Sandbox Code Playgroud)
我尝试了几个条件,但我无法找到差异.有人可以帮助我找出差异吗?
too*_*lic 12
一个区别是,use warnings;如果从未为变量赋值,第二行可以生成警告消息(使用时):
use warnings;
use strict;
my $string;
if ($string && $string eq 'foo') {
print "true1\n";
}
else {
print "false1\n";
}
if ($string eq 'foo') { # Get warning
print "true2\n";
}
else {
print "false2\n";
}
Run Code Online (Sandbox Code Playgroud)
警告信息是:
Use of uninitialized value $string in string eq
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |