
配列。単数形の変数をスカラー(scalar)、複数形の変数を配列(array)と呼ぶ。配列は @ を、スカラーは $ を先頭に付け現す。
複数形の変数には、他に文字列でキーを指定するハッシュ(%)がある。
配列はスカラーを順番に並べたもの(リスト)。
数値を使って探し出すときには配列を使い、文字をもとに探すときにはハッシュを使う。
スカラーの $ は scalar の先頭の文字から、
配列の @ は arrayの先頭の文字から連想されている。
リスト値を配列に代入するには ( ) で囲えばよい。
@coco = ("dog", "shih tzu", "Coco");のとき、
print @coco;とするとdog shih tzu Cocoとなる。各要素は
マイナスの添え字を使って配列を最後の要素から表現することもできる。
| $coco[0] | $coco[1] | $coco[2] | |
| @coco | dog | shih tzu | Coco |
| $coco[-3] | $coco[-2] | $coco[-1] |
このように、配列からスカラー変数に代入することもできる。
($inu, $kensyu, $namae) = @coco;
この結果、$inuには dog、$kensyuに shih tzu、$namaeに Cocoがリスト代入される。@coco = ("dog", "shih tzu", "Coco");のとき、この配列の最後に要素を加えるには push という関数を使う。
push(@coco, "tsuika");はdog shih tzu Coco tsuikaとなる。配列の最後に、$coco[3] として、文字列の tsuika が加わった。逆に配列の先頭に要素を加えるには unshift関数を使用する。
unshift(@coco, "tsuika");はtsuika dog shih tzu Cocoとなる。配列の先頭に、$coco[0] として、文字列の tsuika が加わった。今までの配列は$coco[0]〜$coco[2]であったが、unshiftで先頭に要素($coco[0])が加わったため、$coco[1]〜$coco[3]にシフトしている。配列の最後の要素を取り出すには pop関数を用いる。
同じく@coco = ("dog", "shih tzu", "Coco");のとき
$matsubi = pop(@coco);とすると、
print $matsubi;で $matsubiはCocoとなる。
pop とは逆に、最初の要素を取り出すには shift関数を使う。
$saisyo = shift(@coco);で、
$saisyoはdogになる。