Chcę przeczytać linie ze STDIN (aka SYSIN) w języku COBOL. Na razie chcę je wydrukować, żeby wiedzieć, że je mam. Od wszystkiego Czytam to wygląda jak to powinno działać:Przeczytaj STDIN (SYSIN) w języku COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID. APP.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT SYSIN ASSIGN TO DA-S-SYSIN ORGANIZATION LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD SYSIN.
01 ln PIC X(255).
88 EOF VALUE HIGH-VALUES.
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.
OPEN INPUT SYSIN
READ SYSIN
AT END SET EOF TO TRUE
END-READ
PERFORM UNTIL EOF
DISPLAY ln
READ SYSIN
AT END SET EOF TO TRUE
END-READ
END-PERFORM
CLOSE SYSIN
STOP RUN.
To kompiluje (z wykorzystaniem open-COBOL i cobc -x), ale uruchomione go uzyskać:
libcob: File does not exist (STATUS = 35) File : ''
Co robię źle?
Jestem w porządku przy użyciu ACCEPT zamiast (chociaż przeczytałem, że jest uważany za złe praktyki dla dużych danych), ale w jaki sposób mogę skonstruować pętlę do wykrycia EOF? – singpolyma