Reads from the filehandle whose typeglob is contained in EXPR (or from
if EXPR is not provided). In scalar context, each call reads and
returns the next line until end-of-file is reached, whereupon the
subsequent call returns undef. In list context, reads
until end-of-file is reached and returns a list of lines. Note that the
notion of "line" used here is whatever you may have defined with
English). See $/ in perlvar.
This is the internal function implementing the
operator, but you can use it directly. The
operator is discussed in more detail in I/O Operators in perlop.
If readline encounters an operating system error, $! will be set with the corresponding error message. It can be helpful to check $! when you are reading from filehandles you don't trust, such as a tty or a socket. The following example uses the operator form of readline and dies if the result is not defined.