導入
配列は @名前 で作ります。中の1つ1つの要素を取り出すときは $名前[番号] と、シジルが $ に変わるのがPerlの特徴です。
説明
my @配列 = (値, 値, ...); で作ります。番号(インデックス)は 0 から始まり、$配列[番号] で読み書きします。-1 は末尾を指します。
use strict;
use warnings;
my @colors = ("red", "green", "blue");
print $colors[0], "\n"; # red(先頭)
print $colors[-1], "\n"; # blue(末尾)
$colors[1] = "yellow"; # 書き換え
print "@colors\n"; # red yellow blue
ダブルクォートの中に @colors と書くと、要素が半角スペースで区切られて展開されます。末尾に要素を足すのは push、末尾から取り出すのは pop です。
use strict;
use warnings;
my @stack = (1, 2, 3);
push @stack, 4; # 末尾に追加
print "@stack\n"; # 1 2 3 4
my $last = pop @stack; # 末尾を取り出す
print "取り出した: $last\n"; # 4
print "@stack\n"; # 1 2 3
やってみよう
@colors の中身や要素数を変えて、$colors[番号] や @colors の表示がどう変わるか確かめましょう。push / pop も試してください。
演習
配列 @nums に (10, 20, 30) を入れ、push で 40 を追加してから、配列全体を "@nums" の形で表示してください(結果は 10 20 30 40)。
ヒント1を見る
my @nums = (10, 20, 30); push @nums, 40; のあと print "@nums\n";。