配列に格納したデータすべてに対して、ループを回して何か処理をしたい場合には、foreach文が便利です。配列の要素数を気にすることなくループを回せます。
にしし ふぁくとりー

にししの Perl/CGI Tips ふぁくとりー

にししふぁくとりーPerl/CGI Tips → このページ

配列関連TIPS

配列の中身すべてに対してループで何か処理をする

配列に格納したデータすべてに対して、ループを回して何か処理をしたい場合が良くあります。 配列の長さを取得して for文で回す…という手が他の言語ではよく使われるでしょうが、Perlにはもっと便利な foreach文があります。

SOURCE 1

foreach の使い方はとても簡単。「foreach 変数 ( 配列 )」です。
@moes = ("sakura", "tomoyo", "misaki", "rakka", "sora");
foreach $moe ( @moes ) {
print "名前:$moe\n";
}
配列 @moes の中身が $moe に入ります。@moes に要素があるだけループが回ります。配列の長さを調べる必要がないので楽ですね。

SOURCE 2

配列の番号が必要になる場合は、for文を使って次のように書けます。
@moes = ("sakura", "tomoyo", "misaki", "rakka", "sora");
for( $loop=0 ; $loop <= $#moes ; $loop++ ) {
$num = $loop+1;
print "$num人目の名前:$moes[$loop]\n";
}
配列の最後の要素番号が $#配列名 で分かります。また、配列 @moes の特定の要素は $moes[番号] で得られます。

SAMPLE SOURCE

ソースコード2 , 出力結果2
2004/02/19. Thu.

このページに記載の内容は、必ずしも正しいとは限りません。ご注意下さい。
もっと良い方法がありましたら、ぜひ、教えて頂けるとありがたいです。
製作者にししへのご連絡は、メールなどでお送り下さい。匿名のコメントも送信できます。
どのページへもリンクは歓迎します。複製・転載はご遠慮下さい。