Command-line arguments
| ARGUMENT-VALUE | |
| ARGUMENT-NUMBER | |
| Environment variables |
ARGUMENT-VALUE
GnuCOBOL exposes command-line arguments through ACCEPT. ARGUMENT-VALUE returns the current argument, and ARGUMENT-NUMBER says which one it is:
ACCEPT WS-ARG FROM ARGUMENT-VALUE.
ACCEPT WS-N FROM ARGUMENT-NUMBER.
ARGUMENT-NUMBER
Loop over the arguments by counting from 1 up, accepting each value in turn. GnuCOBOL also stores the raw command line in the special register COMMAND-LINE for custom parsing:
MOVE 1 TO WS-N.
PERFORM UNTIL WS-N = 0
ACCEPT WS-ARG FROM ARGUMENT-VALUE
DISPLAY "Arg: " WS-ARG
ADD 1 TO WS-N
IF WS-ARG = SPACE MOVE 0 TO WS-N
END-IF
END-PERFORM.
Environment variables
ACCEPT FROM ENVIRONMENT reads a variable from the process environment, which is the cleanest way to pass configuration to a batch program without editing its source:
ACCEPT WS-PATH FROM ENVIRONMENT "PAYROLL-DIR".
Next: Environment and RETURN-CODE
Article author: Arthur Isaev