<STDIN> as an Array
One previously seen operation that returns a different value in a list context is
<STDIN>
. As described earlier,
<STDIN>
returns the next line of input in a scalar context. However, in a list context, it returns
all
of the remaining lines up to the end-of-file. Each line is returned as a separate element of the list. For example:
@a = <STDIN>; # read standard input in a list context
If the person running the program types three lines, then hits CTRL-Z (to indicate end-of-file), the array ends up with three elements. Each element will be a string that ends in a newline, corresponding to the three newline-terminated lines entered.