The null filehandle diamond operator <> has its place in building command line tools. It acts like to read from a handle, except that it magically selects whichever is found first: command line filenames or STDIN. Taken from perlop:
while (<>) {
... # code for each line
}