如何测试数组的null?

时间:2014-04-28 07:42:19

标签: arrays perl null

我无法理解以下代码段:

perl  -e '  
my @test = undef;  
if(@test) {print "Full\n";}'  
Full  

似乎@test虽然已分配undef,但它实际上有1个元素undef
那么测试@test是否为空的正确方法是什么? 做if(scalar(@test) == 1 && !$test[0])对我来说似乎很奇怪

1 个答案:

答案 0 :(得分:10)

要将@array初始化为空,只需执行以下操作:

my @test = (); 

目前你在做:

my @test = (undef);

正如您所观察到的那样,正在为数组分配一个值。

要清除已经声明的数组,您可以使用undef,如下所示:

undef @test;