On Mon, Jun 16, 2003 at 11:19:21AM -0700, Daschbach, John L wrote: > > > > Add an extra variable and set that, like > > > > > > $exitloop = false; > > > while(<FH> || $exitloop){ > > > > What do you suppose happens to the input from <FH> in that line of code? > > It's in $_ as it always is.
Ah ha! No, it is not. It is discarded. In the loop: while(<FH> || $exitloop) { } the input read from <FH> is not assigned to $_, because the implicit assignment only happens when the input operator is the only thing in the conditional. perldoc perlop: Ordinarily you must assign the returned value to a vari- able, but there is one situation where an automatic assignment happens. If and only if the input symbol is the only thing inside the conditional of a "while" state- ment (even if disguised as a "for(;;)" loop), the value is automatically assigned to the global variable $_, destroy- ing whatever was there previously. Ronald