PULL

 ────PULL──────┬────────────┬─────;──────────
                 └──template──┘


PULL is used to read a string from the head of the currently active REXX data queue. It is a short form of the instruction:

 ──PARSE UPPER PULL──┬─────────────┬─;────
                       └──template───┘

The current head-of-queue is read as one string. If no template is specified, no further action is taken, and the string is effectively discarded. If specified, a template is a list of symbols separated by blanks or patterns. The string is translated to uppercase (for example, a lowercase a-z to an uppercase A-Z), and then parsed into variables according to the rules described in the section on parsing in the OS/2 Procedures Language 2/REXX Reference. Use the PARSE PULL instruction if you do not want uppercase translation.

┴╓: If the current data queue is empty, PULL reads instead from STDIN (typically, the keyboard). The length of data read by the PULL instruction is restricted to the length of strings contained by variables.