Last Update 2008/05/18
配列は複数のスカラー値を要素とする変数です。
配列に値を代入するにはリストを右辺に記述します。
コンマで区切ったリストの他に、シングルクォート内に空白で区切った文字列を記述する形式も可能です。
配列に値を代入するにはリストを右辺に記述します。
コンマで区切ったリストの他に、シングルクォート内に空白で区切った文字列を記述する形式も可能です。
(例)
# 配列にリストで3個の値を代入
@test1 = ("a", "b", "c");
# 文字列を空白で区切りシングルクォートで囲む
@test2 = 'dd ee ff';
# シングルクォートの代わりにqwを使用することも可能
@test3 = qw(gg hh ii);
# qwは()以外の記号も使用できる
@test4 = qw/jj kk ll/;
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";a
# 文字列連結式に配列を加えても個数を返す
# ダブルクォートの中に入れた場合は変数展開され、要素が文字列に結合される
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