![]() |
|
No such thing as a small change | |
PerlMonks |
Why is the null while-loop condition expression true?by AnomalousMonk (Archbishop) |
on Mar 28, 2016 at 17:55 UTC ( #1158968=perlquestion: print w/replies, xml ) | Need Help?? |
AnomalousMonk has asked for the wisdom of the Perl Monks concerning the following question: In a recent post, I saw a question about why produced a "Use of uninitialized value $_ in pattern match (m//) ..." warning. This is easily fixed by assigning the value returned by the <> (diamond) operator (aka the readline function) to the appropriate variable: (This example works the same under ActiveState 5.8.9 and Strawberry 5.14.4.)
What caught my eye was the null loop condition expression in the I'm surprised that a null loop condition expression is accepted by the compiler or, being accepted, that it evaluates as true. Because other boolean "nullities" (undef, the empty string, 0) are false, I would have expected a null condition expression, if it compiled at all, to be false. (A B::Deparse of while () { ... } shows it to compile to while (1) { ... } in both Perl versions I tried.) So, my questions:
Give a man a fish: <%-{-{-{-<
Back to
Seekers of Perl Wisdom
|
|