導入
数の並びやリストを「1つずつ順に」処理するには foreach(for でも同じ)が便利です。連続する数は範囲演算子 .. で手軽に作れます。
説明
foreach my $x (リスト) { ... } と書くと、リストの要素が順番に $x に入ります。1..5 は「1から5までの並び」を表す範囲演算子です。
use strict;
use warnings;
foreach my $n (1..5) {
print "$n の2乗は ", $n * $n, "\n";
}
ループ変数を省くと、特殊変数 $_(デフォルトの変数)に値が入ります。Perl らしい書き方です。
use strict;
use warnings;
for ("apple", "banana", "cherry") {
print "果物: $_\n";
}
やってみよう
1..5 の範囲を変えたり、リストの中身を書き換えたりして、くり返しの様子を確かめましょう。
演習
foreach と範囲 1..5 を使って、1 から 5 までの**積(階乗)**を求めて表示してください(1*2*3*4*5 = 120)。
ヒント1を見る
my $p = 1; foreach my $i (1..5) { $p *= $i; } のあと print "$p\n";。