配列の変な場所に要素を追加したらどうなるのかな?
PHPではインデックスに欠番ができるけど、Perlではどうなるか実験。
use strict; use warnings; my @nums = (1, 2, 3,); # 添字が9の場所に代入すると、添字の欠番ができる? $nums[9] = 10; my $len = @nums; print "length of array: $len\n"; foreach (@nums) { print "$_ "; } print "\n";
長さが10に伸びてるので、ちゃんと間の要素もできているみたいだ。
だけど、foreachでエラーが出てる。
Use of uninitialized value $_ in concatenation (.) or string
これは、
二重引用符内に展開すべき変数 $_ があったから、演算子.を用いて展開したいけど、$_ は未初期化の値を格納していて、文字列の連結ができないYO!
ってことだと推測した。多分、欠番はできてないんじゃないかと思う。