in reply to Re: "defined" in while loop Edit | Delete | Quote | Reply | Private Reply
in thread "defined" in while loop Edit | Delete | Quote | Reply | Private Reply
Also, it isn't necessary for $_ to be undefined (or unassigned) for the loop to end.
While that's true in general,
>perl -le"$_=4; while (--$_) { print }" 3 2 1
It's not true in this case.
>perl -e"print 0" | perl -le"while ($_ = <>) { print $_ ? 'true' : 'fa +lse' }" false >perl -MO=Deparse -e"while (<>) {}" while (defined($_ = <ARGV>)) { (); } -e syntax OK >perl -MO=Deparse -e"while ($_ = <>) {}" while (defined($_ = <ARGV>)) { (); } -e syntax OK >perl -MO=Deparse -e"while (defined($_ = <>)) {}" while (defined($_ = <ARGV>)) { (); } -e syntax OK
In Section
Seekers of Perl Wisdom