◆ foreach構文

foreach構文も繰り返し処理を行う制御構文です。foreach文は、for文の仲間で、for文と同じ扱いになります。名前が違うだけで、使い方も機能もまったく同じです。

では何故、同じ機能なのに for と foreach と区別されているのでしょう?

foreach構文の書式
Perlでは、for構文と foreach構文は区別して使われることが習慣になっています。以下に foreach文の書式を示しますが、for構文 で説明した書式も foreach構文で利用することができます。
 foreach 変数 (リスト) {
   処理内容;
  }
ここで示す「リスト」とは、配列 で説明したインデックスと同じもので、リストはデータの並びを意味します。
この構文をまとめると、
  1. リストから1つデータを取り出して変数にセットする
  2. ブロック内の処理を実行する
  3. リストが空になるまで1〜2までを繰り返す
以下に具体的な foreach構文のサンプルを示します。
 @list = (0, 1, 2, 3, 4, 5);
  foreach $banban (@list) {
     print "$banban\n";
   }
この書式では、配列 @list を定義し、0〜5までの数字が格納されています。foreach構文で 変数$banban を使い、リストで定義されているデータを先頭から順に取り出し、最後の数字が抽出されると、ブロックを終えて foreach構文を終了します。このプログラムでは、画面に0から5までの数字を表示します。
foreach構文では、先頭に記述する変数を省略することができます。リストから取り出したデータは、暗黙のうちに 「$_」という特殊変数がセットされて処理を実行します。
 @list = (0, 1, 2, 3, 4, 5);
  foreach (@list) {
     print "$_\n";
   }


This Page is HTML4.01 Valid! 最新更新日 2003/11/2
Copyright(C) 2002-2003 banban@scollabo.com