Larry Wall skribis 2005-05-06 11:07 (-0700): > But then how do you know if you just want to pass one as a scalar and > not iterate it?
Assuming =: =iterator # the iterator itself, passable (autoreffing) $=iterator # get one element @=iterator # get remaining elements, lazily This would mean we'd get for @=$fh -> $line { ... } or =it := =$fh; # =it := $fh.it # =it = $fh.it # I dunno. for @=it -> $line { ... } Ugly. Another alternative would be $fh.it # the iterator itself, passable =$fh # synonym for $fh.it.next, where a real iterator has .it # returning $self, so that =$iterator and =$handle both # work, without special magic. Juerd -- http://convolution.nl/maak_juerd_blij.html http://convolution.nl/make_juerd_happy.html http://convolution.nl/gajigu_juerd_n.html