On 18 Jun 2001 21:22:56 -0500, Me wrote:
<snip />
> 
> (I've given up trying to find that last reference,
> having spent far longer looking for it than I have
> on the rest of this email. Maybe someone else
> knows where perldoc for <> is?)
> 
> 

There is more information there, but this is enough to get the picture.

<snip href="perldoc 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
               }
           }

       except that it isn't so cumbersome to say, and will
       actually work.  It really does shift the @ARGV array and
       put the current filename into the $ARGV variable.  It also
       uses filehandle ARGV internally--<> is just a synonym for
       <ARGV>, which is magical.  (The pseudo code above doesn't
       work because it treats <ARGV> as non-magical.)
</snip


--
Today is Setting Orange, the 24th day of Confusion in the YOLD 3167
Umlaut Zebra über alles!


Reply via email to