Perl:代码的差异
我是Perl新手,我试图找出两个代码片段之间的区别:Perl:代码的差异,perl,operators,Perl,Operators,我是Perl新手,我试图找出两个代码片段之间的区别: $string && $string eq 'foo' $string eq 'foo' 我试过几种情况,但都没有找到区别。有人能帮我找出区别吗?一个区别是,如果变量从未被赋值,第二行可能会生成警告消息(当使用使用警告时;): use warnings; use strict; my $string; if ($string && $string eq 'foo') { print "true1\
$string && $string eq 'foo'
$string eq 'foo'
我试过几种情况,但都没有找到区别。有人能帮我找出区别吗?一个区别是,如果变量从未被赋值,第二行可能会生成警告消息(当使用
使用警告时;
):
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";
}
警告信息是:
Use of uninitialized value $string in string eq
谢谢,我没有考虑<代码>使用严格的< /代码>和<代码>使用警告< /代码>始终考虑使用<代码>严格< /COD>和<代码>警告< /代码>。通过考虑,我的意思是承诺。