nE0*_*ghT 1 arrays perl if-statement undefined
为什么这段代码不打印“2”?
#!/usr/bin/perl
sub get_undef() {
return undef;
}
my $test1 = get_undef;
my @test2 = get_undef;
print "1\n" unless ($test1);
print "2\n" unless (@test2);
Run Code Online (Sandbox Code Playgroud)
Jim*_*vis 10
您的@test2
数组包含一个值 ( undef
)。
条件将数组置于标量上下文中,从而得出数组的大小 (1)。
如果你想$test
是未定义的和@test2
空的,你可以return;
从你的子。
归档时间: |
|
查看次数: |
86 次 |
最近记录: |