💻 COBOL
COBOL PERFORM Statement
Intermediate 🕑 10 min read
👁 0 views
COBOL PERFORM Statement
The PERFORM statement executes a procedure or inline code, optionally with iteration.
Syntax Variations
PERFORM paragraph-name [THRU paragraph-name]
PERFORM paragraph-name n TIMES
PERFORM paragraph-name UNTIL condition
PERFORM paragraph-name VARYING identifier FROM value BY value UNTIL condition
PERFORM ... END-PERFORM (inline)
Example Program
IDENTIFICATION DIVISION.
PROGRAM-ID. PERFORM-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-COUNTER PIC 9(2) VALUE 0.
01 WS-TOTAL PIC 9(4) VALUE 0.
01 WS-I PIC 9(2) VALUE 0.
01 WS-J PIC 9(2) VALUE 0.
PROCEDURE DIVISION.
DISPLAY '=== PERFORM n TIMES ==='
PERFORM PRINT-HELLO 3 TIMES
DISPLAY '=== PERFORM UNTIL ==='
MOVE 1 TO WS-COUNTER
PERFORM UNTIL WS-COUNTER > 3
DISPLAY 'Counter: ' WS-COUNTER
ADD 1 TO WS-COUNTER
END-PERFORM
DISPLAY '=== PERFORM VARYING ==='
PERFORM VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 3
DISPLAY 'I = ' WS-I
END-PERFORM
DISPLAY '=== INLINE PERFORM ==='
MOVE 0 TO WS-TOTAL
PERFORM 5 TIMES
ADD 10 TO WS-TOTAL
END-PERFORM
DISPLAY 'Total: ' WS-TOTAL
STOP RUN.
PRINT-HELLO.
DISPLAY 'Hello World!'.
Expected Output
=== PERFORM n TIMES ===
Hello World!
Hello World!
Hello World!
=== PERFORM UNTIL ===
Counter: 01
Counter: 02
Counter: 03
=== PERFORM VARYING ===
I = 01
I = 02
I = 03
=== INLINE PERFORM ===
Total: 0050
Key Points
- PERFORM TIMES executes fixed iterations
- PERFORM UNTIL executes while condition is false
- PERFORM VARYING provides loop counter
- WITH TEST BEFORE/AFTER controls condition checking