CGI WEB [ CGI配布 CGI解説 ホームページ作成支援 ]
ホーム|CGI配布|CGIランキング|CGIサポート|CGI解説|ワンタッチボード|ワンタッチメール|クイズ|自宅サーバ|サーバガイド|登録太郎|CGI WEBサーチ|CGI WEB窓口


back
繰り返し





■for文

for ($i = 0; $i < 5; $i++) { print $i; }

「01234」と表示されます。

for (1..20) { 処理 }

処理を20回繰り返す事が出来ます。

■while文

$i = 0;
while ($i < 5) {
  print $i;
  $i++;
}

for文と同じ繰り返しをwhile文で記述するとこのようになります。

open(IN, "<$file") || die;
while (<IN>) { print "$_\n"; }
close(IN);

ファイルの内容を1行(1レコード)ずつ$_(デフォルト変数)に格納して表示します。 レコードが存在する間はwhile文の条件式が真であるとして繰り返しが行われます。

while (($name, $val) = each %in) { 処理 }

ハッシュ%inのキーと値をペアで取り出して繰り返し処理を行います。 ハッシュのキーと値をペアで取り出すには「each」を使います。

□無限ループ

while (1) { 処理 }

Perlでは基本的に0を偽、0以外を真としています。 条件式に1を指定すると常に真という事になりますので無限ループを行います。

■foreach文

foreach $data(@data) { print "$data\n"; }

配列@dataの要素内容を順に$dataに格納して表示します。 foreach文は配列やリストの要素内容を順に取り出して処理をする時に使います。 「$data」の部分は省略可能で、省略した場合は$_(デフォルト変数)に格納されます。

foreach (@data) { print "$_\n"; }

foreach $count(1..20) { print $count; }

for文の時のように処理を20回繰り返す事が出来ます。 同時に繰り返しの数(1から20)を$countに格納する事が出来ます。

■ループ制御文

next;

繰り返しのブロック内で使用します。 繰り返しのブロックの最初(条件式の所)に処理を移す事が出来ます。

last;

繰り返しのブロック内で使用します。 繰り返しのブロックの外に処理を移す事が出来ます。 つまり、繰り返しを外れる事になります。 繰り返しが入れ子になっている場合は内側の繰り返しから外れます。



□更新履歴
 2007.04.23 全体的に内容を見直し




CGI WEB