Last Update 2008/05/18
foreach文は次の書式となります。
foreach 変数1 ( リスト値1 ) ブロック1
変数1
リスト値1の要素を順に取り出した値が格納される変数
ブロック1
リスト値1の要素数の回数分実行されるブロック
(例1)
@a = (1, 2, 3);
# 配列@aの要素数分ループ
foreach $b (@a)
{
print "$b\n";
}
実行結果
1
2
3
(例2)
@a = (1, 2, 3);
# forでも同じ動作となる
for $b (@a)
{
print "$b\n";
}
実行結果
1
2
3
(例3)
@a = (1, 2, 3);
# 変数1を指定しない場合は$_にリスト値から取り出した値が格納される
for (@a)
{
print "$_\n";
}
実行結果
1
2
3
(例4)
@a = (1, 2, 3);
for (@a)
{
print "$_ → ";
# 配列から取り出した値を変更すると、実際の配列も変更される
$_++;
print "$_\n";
}
print "@a\n";
実行結果
1 → 2
2 → 3
3 → 4
2 3 4