在 perl 中使用引号单词时,列表中是否可以有 undef 值?
my @ number_array = qw( 1 2 3 4 5 6 7 8 9 10 )
我想知道是否可以在该列表中添加一个 undef 值,以便它包含 11 个值而不是 10 个?
在 perl 中使用引号单词时,列表中是否可以有 undef 值?
my @ number_array = qw( 1 2 3 4 5 6 7 8 9 10 )
我想知道是否可以在该列表中添加一个 undef 值,以便它包含 11 个值而不是 10 个?
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
qw(...)
相当于
(split(' ', q(...), 0))
至于您的问题的答案,这取决于您所说的“空”是什么意思。
split
返回字符串。split
,不能返回带有这些操作数的那些。您将不得不通过另一种方式构建您的列表。例如,
my @array = (qw( 1 2 3 4 5 6 7 8 9 10 ), undef);
甚至类似的
my @array = (1..10, undef);