TOP - Perl - 配列

配列は複数のスカラー値を要素とする変数です。
配列に値を代入するにはリストを右辺に記述します。
コンマで区切ったリストの他に、シングルクォート内に空白で区切った文字列を記述する形式も可能です。

(例)
@test1 = ("a", "b", "c");        # 配列にリストで3個の値を代入
@test2 = 'dd ee ff';             # 文字列を空白で区切りシングルクォートで囲む
@test3 = qw(gg hh ii);           # シングルクォートの代わりにqwを使用することも可能
@test4 = qw/jj kk ll/;           # qwは()以外の記号も使用できる
print "@test1\n";
print "@test2\n";
print "@test3\n";
print "@test4\n";
実行結果
a b c
dd ee ff
gg hh ii
jj kk ll

配列変数をスカラー変数に代入した場合は、配列の要素ではなく個数が代入されます。

(例)
@ary = ("a", "b", "c");
$s = @ary;                      # スカラー変数に配列を代入
print "$s\n";
print @ary . "\n";              # 文字列連結式に配列を加えても個数を返す
                                # ダブルクォートの中に入れた場合は変数展開され、要素が文字列に結合される
実行結果
3
3

配列の個々の要素は添え字を利用して指定します。

(例)
@test = ("a", "b", "c");
print "$test[0] : $test[1] : $test[2]\n";      # 個々の要素を添え字で指定して":"で区切って表示
実行結果
a : b : c
d

配列変数の"@"を"$#"に変えた変数は、配列の最後尾の要素の添え字の値を示します。

(例)
@test = ("a", "b", "c");
print "$#test\n";                 # 配列の最後の要素の添え字の値を表示
実行結果
2

配列は空のリストによってクリアできます。

(例)
@test = ("a", "b", "c");
print "@test\n";                   # 3個の値を表示
@test = ();                        # 配列をクリア
print "@test\n";                   # 改行のみ表示
実行結果
a b c



Copyright(C) 2006-2011 CLAYPOT. All Rights Reserved.