在perl中使用引用词时,是否可以在列表中包含undef值?
my @ number_array = qw( 1 2 3 4 5 6 7 8 9 10 )
我想知道是否可以在该列表中添加一个undef值,使其包含11个值而不是10个?
答案 0 :(得分:5)
perl中没有null
,但您可以使用undef
。由于qw
仅使用以空格分隔的字符串显式操作,因此您必须在qw
之外指定它,但您可以在括号内轻松编写多个列表:
my @number_array = (undef, qw( 1 2 3 4 5 6 7 8 9 10 ));
print scalar @number_array;
>11
答案 1 :(得分:5)
qw(...)
相当于
(split(' ', q(...), 0))
至于你的问题的答案,这取决于你的意思是“null”。
split
返回字符串。split
无法返回那些操作数。您必须通过其他方式构建列表。例如,
my @array = (qw( 1 2 3 4 5 6 7 8 9 10 ), undef);
甚至类似的
my @array = (1..10, undef);