forとforeachは同じ。そして、forの反復子変数はエイリアス。
for と foreach は同じ
for
my @countries = qw/ Japan Korea China /; for my $country ( @countries ) { print "$country\n"; }
結果
Japan Korea China
foreach
my @countries = qw/ Japan Korea China /; foreach my $country ( @countries ) { print "$country\n"; }
結果
Japan Korea China
forの反復子変数はエイリアス
my @countries = qw/ Japan Korea China /; for my $country ( @countries ) { $country = uc $country; } print "@countries\n";
結果
JAPAN KOREA CHINA
まとめ
以上。昨日知ったことでした。
forとforeachのことはともかく、エイリアスのことを知らずによくいままでコード書いてたよな…。
追記
コードにミスがあったので修正。