in reply to Re: why can't I just cat the file???
in thread why can't I just cat the file???
I'd like to expand upon this correct answer. It seems like a really weird distinction if you aren't familiar with Perl's filter-writing magic.
One might think that the above code is equivalent to this:while (<DATA>) { ... }
In reality, due to Perl's magical way of helping you implement simple STDIN-to-STDOUT text file filters, the first snippet is rephrased internally to mean the following:@foo = <DATA>; while (@foo) { ... }
Thus, while () isn't taking a list, or even what looks like a list. It's taking a condition, the condition being the successful ability to read a single line from a filehandle (and if successful, assigning the line to $_ for checks inside the loop).while (defined ($_ = readline(*DATA))) { ... }
--
[ e d @ h a l l e y . c c ]
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: why can't I just cat the file???
by hpavc (Acolyte) on Feb 07, 2008 at 17:31 UTC | |
Re^3: why can't I just cat the file???
by convenientstore (Pilgrim) on Feb 08, 2008 at 17:00 UTC | |
by halley (Prior) on Feb 08, 2008 at 18:04 UTC |
In Section
Seekers of Perl Wisdom