[トップページ] [戻る]
フロー制御

do 文

for 文
for 文は、ループ処理を行います。
	for ( 式1; 式2; 式3 ) {
	  文1
	  …
	  [last;]
	}
式1は for 文の最初に実行されるため、初期化処理を行うことが多いです。
式2はループを継続するための条件です。この条件が真の間、ループは続行されます。
式3は for 文の最後に実行されるため、カウンタのインクリメント(1ずつ増加)を行うことが多いです。
ループを強制的に終了する場合は、last;を記述します。

	(例)配列 @list の要素をすべて表示します
	@list = ("aaa", "bbb", "ccc", "ddd", "eee", "fff");

	# 配列の要素数を取得します
	$list_count = @list;

	# ループ処理
	for ($idx = 0; $idx <= $list_count - 1; $idx++) {
		print "$list[$idx]\n";
	}
foreach 文
foreach 文は、配列のループ処理を行います。
	foreach 変数名 ( 配列名 ) {
	  文1
	  …
	  [last;]
	}
foreach 文は配列のループ処理を行うのに適しています。配列名で記述された配列の要素が無くなるまで、変数名で記述された変数に代入し、ループを続けます。ループを強制的に終了する場合は、last;を記述します。
	(例)配列 @list の要素をすべて表示します
@list = ("aaa", "bbb", "ccc", "ddd", "eee", "fff"); # 配列の要素を1つずつ print します foreach $str (@list) { print "$str\n"; }
goto 文

if...elsif...else 文
if 〜 else 文は条件式により、プログラムを分岐させます。
	if ( 条件式1 ) {
	  文1
	  …
	}
	elsif ( 条件式2 ) {
	  文2
	  …
	}
	else {
	  文3
	  …
	}
条件式1の条件が真となる場合、文1・・・のブロックが処理されます。
条件式1の条件が偽で、条件式2の条件が真の場合、文2・・・のブロックが処理されます。
条件式1、条件式2の条件が偽の場合、文3・・・のブロックが処理されます。

(例)$count の値が10のとき、$count に10を足し算します。$countが10未満のとき、
	$count の値に100を足し算します。それ以外の場合、$count を0にします。
if ($count == 10) { $count = $count + 10; } elsif ($count < 10) { $count = $count + 100; } else { $count = 0; }
last 文

next 文

redo 文

while 文
while 文はループの処理を行います。
	while ( 条件式 ) {
	  文1
	  …
	  [last;]
	}
条件式が真の間、ループが続行されます。ループを強制的に終了する場合は、last;を記述します。
	(例)ファイル read_file を読み込みます
$read_file = "http://xxxxx/~user/userdata.dat"; # ファイルをオープンします if (!open(FILE "$read_file")) { print "FileOpen Error\n"; exit; } # 1行ずつ print します while ($data = <FILE>) { print "$data\n"; } close(FILE);

[トップページ] [戻る]
Copyright (C) 2000 Me All rights reserved
Mail To webmaster