PERFORM Example Program
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. COPYFILE.
000300 AUTHOR. CHUNG.
000400 ENVIRONMENT DIVISION.
000500 INPUT-OUTPUT SECTION.
000600 FILE-CONTROL.
000700 SELECT F1 ASSIGN TO DISK 'TST.DAT'
000800 ORGANIZATION IS LINE SEQUENTIAL.
000900 SELECT F2 ASSIGN TO DISK 'TST.RES'
001000 ORGANIZATION IS LINE SEQUENTIAL.
001100 DATA DIVISION.
001200 FILE SECTION.
001300 FD F1 RECORD CONTAINS 35 CHARACTERS.
001400 01 INPUT-REC.
001500 03 NAME.
001600 05 LAST-NAME PIC X(10).
001700 05 FIRST-NAME PIC X(10).
001800 03 SSN PIC X(9).
001900 03 DOB-YYMMDD PIC X(6).
002000 FD F2 RECORD CONTAINS 35 CHARACTERS.
002100 01 OUTPUT-REC PIC X(35).
002200 WORKING-STORAGE SECTION.
002300 01 FLAG PIC X VALUE 'M'.
002400
002500 PROCEDURE DIVISION.
002600 MAIN-PARA.
002700 OPEN INPUT F1 OUTPUT F2.
002800 DISPLAY 'Now Copying TST.DAT --> TST.RES'.
002900 PERFORM UNTIL FLAG = 'E'
003000 READ F1
003100 AT END MOVE 'E' TO FLAG
003200 NOT AT END MOVE INPUT-REC TO OUTPUT-REC
003300 WRITE OUTPUT-REC
003400 END-READ
003500 END-PERFORM
003700 CLOSE F1 F2.
003800 STOP RUN.