範囲演算子
リストを作成する時に数値を順番にならべるようなリストもよく使用されます。例えば10から15までの1つずつ増加するリストなどです。
my @count = (11, 12, 13, 14, 15);
このように整数の値で1つだけ増加していく連続した数値のリストを作成する場合には範囲演算子を使用すると便利です。書式は次の通りです。
(開始数..終了数)
リストの中で開始する数値と終了する数値を「..」で結んで記述します。例えば次のように記述します。
my @count = (11..15);
数値には小数点が含まれる数値を記述した場合は小数点以下が切り捨てられます。また増加する値は1と固定で、減算させることもできません。
範囲演算子はリストの中の1つの要素として扱えますので、他の要素や別の範囲演算子と組み合わせて記述すること可能です。
my @count = (1..5, 10, 15, 31..33);
これは下記のように記述した場合と同じです。
my @count = (1, 2, 3, 4, 5, 10, 15, 31, 32, 33);
サンプルプログラム
では簡単なプログラムで確認して見ます。
use strict; use warnings; use utf8; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; my @num = (10..14, 20); my $count = @num; for (my $i = 0; $i < $count; $i++){ print "$num[$i]¥n"; }
上記を「test7-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。
上記のサンプルでは配列の要素数を取得して使用しています。要素数の取得方法は「配列の要素数」と「配列の最後のインデックス」を参照して下さい。
( Written by Tatsuo Ikura )