in reply to <> to read command line options?

Nobody has said it clearly yet. perlop:
The null filehandle <> is special: it can be used to emulate the
behavior of sed and awk.  Input from <> comes either from standard
input, or from each file listed on the command line.  Here's how it 
works: the first time <> is evaluated, the @ARGV array is checked, and
if it is empty, $ARGV[0] is set to "-", which when opened gives you
standard input.  The @ARGV array is then processed as a list of
filenames.  The loop

    while (<>) { 
        ...                     # code for each line
    }

is equivalent to the following Perl-like pseudo code:

    unshift(@ARGV, '-') unless @ARGV; 
    while ($ARGV = shift) {
        open(ARGV, $ARGV);
        while (<ARGV>) {
            ...         # code for each line
        }      
    }