EVALUATE MENU-INPUT
WHEN "0"
PERFORM INIT-PROC
WHEN "1" THRU "9"
PERFORM PROCESS-PROC
WHEN "R"
PERFORM READ-PARMS
WHEN "X"
PERFORM CLEANUP-PROC
WHEN OTHER
PERFORM ERROR-PROC
END-EVALUATE.
IF (MENU-INPUT = "0") THEN
PERFORM INIT-PROC
ELSE
IF (MENU-INPUT ≥ "1") AND (MENU-INPUT ≤ "9") THEN
PERFORM PROCESS-PROC
ELSE
IF (MENU-INPUT = "R") THEN
PERFORM READ-PARMS
ELSE
IF (MENU-INPUT = "X") THEN
PERFORM CLEANUP-PROC
ELSE
PERFORM ERROR-PROC
END-IF
END-IF
END-IF
END-IF.
次の例は、EVALUATE ステートメントおよびそれに対応する IF ステートメントの、より複雑な例です。
EVALUATE A = B ALSO C > D ALSO TRUE
WHEN TRUE ALSO TRUE ALSO E = F + 15
imp-stat-1
WHEN TRUE ALSO TRUE ALSO E > 12
imp-stat-2
WHEN TRUE ALSO FALSE ALSO ANY
imp-stat-3
WHEN FALSE ALSO TRUE ALSO ANY
imp-stat-4
WHEN FALSE ALSO FALSE ALSO ANY
imp-stat-5
END-EVALUATE.
IF A = B THEN
IF C > D THEN
IF E = F + 15 THEN
imp-stat-1
ELSE
IF E > 12 THEN
imp-stat-2
END-IF
END-IF
ELSE
imp-stat-3
END-IF
ELSE
IF C > D THEN
imp-stat-4
ELSE
imp-stat-5
END-IF
END-IF.