On Thu, 19 Aug 2004 10:38:48 -0500, Dan Hursh <[EMAIL PROTECTED]> wrote: > while another $foo {..} > > It's 5 characters too many, but it works. > > Dan
At this point, you may as well use C<.records> (think C<$/> -- record separator): for $foo.records { ... } Then it'd be a small step to allow: for $foo.records :sep"," { ... } --or-- for $foo.records(",") { ... } to override C<$/>. Ideally, you'd have C<.lines> to use as well. It's not nearly general enough, but in many (most?) cases it would provide the wanted behavior. The trouble is that using a for loop builds a list in memory, which can be troublesome. But I suppose a singular version could be used to act as an iterator: while my $rec = $foo.record :sep"\n" { ... } while my $line = $foo.line { ... } Or maybe one method could be used both ways, depending on whether it's called in list or scalar context. But you wouldn't get the implicit assignment to C<$_>. -- matt