PERFORM . . . TIMES ステートメントを使用すれば、段落を指定した回数だけ実行することができます。
PERFORM 010-PROCESS-ONE-MONTH 12 TIMES INSPECT . . .
上記の例では、制御が PERFORM ステートメントに達すると、段落 010-PROCESS-ONE-MONTH のコードが 12 回実行されてから、制御が INSPECT ステートメントに移ります。
PERFORM . . . UNTIL ステートメントは、選択した条件が満たされるまで段落を実行する場合に使用します。以下のいずれかの形式を使用することができます。
PERFORM . . . WITH TEST AFTER . . . . UNTIL . . . PERFORM . . . [WITH TEST BEFORE] . . . UNTIL . . .
PERFORM . . . WITH TEST AFTER . . . UNTIL ステートメントは、段落を少なくとも 1 回実行し、 その後テストしてからそれ以降を実行したい場合に使用します。 このステートメントは、do-until 構造と同等です。
次の例では、暗黙の WITH TEST BEFORE 句によって do-while 構造が提供されます。
PERFORM 010-PROCESS-ONE-MONTH UNTIL MONTH GREATER THAN 12 INSPECT . . .
制御が PERFORM ステートメントに達すると、条件 MONTH GREATER THAN 12 がテストされます。条件が満たされると、制御が INSPECT ステートメントに移ります。条件が満たされない場合には、010-PROCESS-ONE-MONTH が実行され、条件が再度テストされます。このサイクルは、条件が真になるまで継続されます。(プログラムを読みやすくするために、WITH TEST BEFORE 節をコーディングすることが必要な場合もあります。)
