配列を任意の一文字で初期化するには
@Array=();にすると各要素にアクセスする時は、未定義になります。
では、任意の一文字で初期化するには、どうしたらよいでしょうか?
たとえば、10個「"0"」で初期化するには、以下の感じ。
@Array = ("0", "0", "0", "0", "0", "0", "0", "0", "0", "0");
スマートに書くと
@Array = ("0") x 10;
掛け算記号にエックスを使うなんてオチャメ。
以下は、出来そうだけどNGです。
@Array = map {$_ . "0"} @Array;
未定義と文字列は連結できないようです。ていうか、これできたら大変なことになる(謎)。
要素数が0であるため{ }内が一度も実行されないからではないでしょうか。
私もそう思います。(ご指摘受けるまでは、気づきませんでした)
kitsさん、いつもご指摘ありがとうございます。