foreach ふぉーいーち

whileやforみたいな、繰り返しを行う制御文。

#!/usr/bin/perl

@arg = 1..10;
$sum = 0;
$tmp = 0;

foreach $tmp (@arg) {
  $sum += $tmp
}
print "$sum\n";

結果

55

foreachの処理は
配列argの$arg[0]の値を$tmpにセットして、$sumに加えます。
以下等同様に
$arg[1]の値を$tmpにセットして、$sumに加えます。
$arg[2]の値を$tmpにセットして、$sumに加えます。
$arg[3]の値を$tmpにセットして、$sumに加えます。
.
.
.
$arg[9]の値を$tmpにセットして、$sumに加えます。
ここで、$arg[10]に値はセットされていませんから、ここまでくるとforeach文は実行されず。
print文を実行してプログラムが終了します。


ちなみに配列argに一つも値が設定されていないと、foreach文は一度も実行されません。