REXX I/O functions
The REXX input functions are charin() and linein(). The chars() and lines() functions determine if data remains in an input stream.
The REXX output functions are charout() and lineout().
In REXX, the concept of persistent and non-persistent (or
transient) streams is closely tied to how these input and output functions interact
with the stream. If a stream is explicitly opened using the STREAM() function, it
becomes persistent, meaning that it retains its position and state across multiple function calls.
In contrast, if a stream is not explicitly opened, REXX treats it as non-persistent—automatically
opening and closing it with each I/O operation, which does not preserve the read/write position
between calls. For more information about persistent and non-persistent streams, refer to IBM Compiler and Library for REXX on IBM Z: User's Guide and Reference.