David Wheeler asked:
How will while behave?
C<while> evaluates its first argument in scalar context, so:
while <$fh> {...} # Iterate until $fh.readline returns EOF?
More or less. Technically: call <$fh.next> and execute the loop body if that method returns true. Whether it still has the automatic binding to $_ and the implicit definedness check is yet to be decided.
while <$iter> {...} # Iterate until $iter.each returns false?
Yes.
while fibs() {...} # Infinite loop -- fibs() returns an # iterator every time?
I suspect so.
while <fibs()> {...} # I'm afraid to ask!
Usually an infinite loop. C<fibs()> returns a new iterator every time, which <...> then calls C<next> on. Damian