- readline EXPR
Reads from the filehandle whose typeglob is contained in EXPR (or from *ARGV 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
$INPUT_RECORD_SEPARATOR). See $/ in perlvar.
This is the internal function implementing the
<EXPR>operator, but you can use it directly. The
<EXPR>operator is discussed in more detail in I/O Operators in perlop.
- $line = <STDIN>;
- $line = readline(*STDIN); # same thing
readlineencounters 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
readlineand dies if the result is not defined.