COBOL supports loop control statements. Out of those PERFORM VARYING is one kind of option. To search an Array PERFORM Varying is a typical loop statement. As arrays usually popular to store file data till program execution completes.
PERFORM Varying Without Until Example
PERFORM paragraph-name VARYING a-variable-value FROM start-value BY increment-value UNTIL some-condition-is-met
PERFORM Varying with UNTIL Example
PERFORM PARA-A VARYING TEST-1 FROM 1 BY 1 UNTIL TEST-1 > 1000 OR FILE-SWITCH = 'EOF'
You can use this COBOL logic written using PERFORM TEST AFTER. This is one best way of handling loops in COBOL programs. After reading input files you need to validate each record. So this logic helps you as a guide.