COBOL (เมนเฟรมของ IBM)
ID DIVISION.
PROGRAM-ID. USELESS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 W-WHEN-COMPILED PIC X(8)BX(8) VALUE SPACE.
PROCEDURE DIVISION.
IF W-WHEN-COMPILED EQUAL TO SPACE
NEXT SENTENCE
END-IF
MOVE SPACE TO W-WHEN-COMPILED.
MOVE WHEN-COMPILED TO W-WHEN-COMPILED
DISPLAY W-WHEN-COMPILED " HELLO WORLD!"
GOBACK
.
หากคุณรันโปรแกรมดังกล่าว (IBM Mainframe COBOL ใด ๆ ตั้งแต่ COBOL II (คอมไพเลอร์ IBM แรกถึงมาตรฐาน 1985, อาจเป็น IBM COBOLs อื่น ๆ เช่นกัน) เอาต์พุตคือ:
02/22/14 13.11.02 สวัสดีชาวโลก!
อย่างไรก็ตามหากคุณลบบรรทัดที่ไม่มีประโยชน์ออกไป "ย้ายพื้นที่ไปเป็น W-WHEN-COMPILED" (ฟิลด์มีค่าเริ่มต้นของพื้นที่และมีเนื้อหาอื่น ๆ ไว้ในคำสั่งถัดไปและมันถูกแยกไปอยู่แล้ว) โปรแกรมสร้างผลลัพธ์ไม่ออกและจริง Abends (U4038) (นั่นหมายความว่ามันล้มเหลว) ด้วยข้อความต่อไปนี้ :
IGZ0037S The flow of control in program USELESS proceeded beyond the
last line of the program. From compile unit USELESS at entry
point USELESS at compile unit offset +000003AC at entry offset
+000003AC at address 119003AC.
(รหัสข้อความและข้อความจะแตกต่างกันระหว่างคอมไพเลอร์ออฟเซ็ตขึ้นอยู่กับคอมไพเลอร์ที่ใช้จริงและตัวเลือกการคอมไพล์ที่อยู่ขึ้นอยู่กับตำแหน่งที่โปรแกรมถูกโหลดเมื่อประมวลผล)
NEXT SENTENCE
เหตุผลก็คือ มันคือSecret GO TO
นี่คือคอมไพเลอร์ตามล่าหยุดเต็ม / ระยะเวลาถัดไปในแหล่งที่มาและสร้างสาขาเพื่อคำแนะนำต่อไปนี้ จาก COBOL II การใช้งานแบบ full-stop / period นั้นผ่อนคลาย โปรแกรมจะต้องจบลงด้วยการหยุดเต็ม / ระยะเวลา ในกรณีนี้สาขาจะปิดท้ายโปรแกรม
ทั้งสองโปรแกรมรวบรวม 100% clean (ไม่มีข้อความวินิจฉัย, Return Code of zero)
พฤติกรรมนี้เป็นใบ้ "IBM Extension" ถึง COBOL มาตรฐาน 1985 ไม่อนุญาตให้ใช้NEXT SENTENCE
ภายในIF
/ END-IF
( CONTINUE
ใช้แทนซึ่งเป็นแบบไม่มี op) IBM อนุญาตให้ทำเช่นนี้ - ทำให้ Gotchas ที่น่ากลัวเป็นครั้งคราว