2

perl で引用語を使用する場合、リストに undef 値を含めることは可能ですか?

my @ number_array = qw( 1 2 3 4 5 6 7 8 9 10 )

私が疑問に思っているのは、そのリストに undef 値を追加して、10 個ではなく 11 個の値が含まれるようにすることは可能でしょうか?

4

2 に答える 2

5

perlにはありませんnullが、を使用できますundefqwスペースで区切られた文字列でのみ明示的に動作するため、の外で指定する必要がありqwますが、角かっこ内にいくつかのリストを簡単に記述できます。

my @number_array = (undef, qw( 1 2 3 4 5 6 7 8 9 10 ));
print scalar @number_array;

>11
于 2012-08-22T19:15:23.870 に答える
5
qw(...)

と同等です

(split(' ', q(...), 0))

あなたの質問への答えは、「null」の意味によって異なります。

  • アンデフ?いいえsplit。文字列を返します。
  • 空文字列?いいえsplit、それらのオペランドを持つものを返すことはできません。
  • ゼロ?はい。
  • U+0000? はい。

別の方法でリストを作成する必要があります。例えば、

my @array = (qw( 1 2 3 4 5 6 7 8 9 10 ), undef);

または同様の

my @array = (1..10, undef);
于 2012-08-22T19:28:28.077 に答える