http://qs321.pair.com?node_id=11140744


in reply to Re: Perl's feature to determine, in current point of loop, that this is the last one? (updated: while unpredictable)
in thread Perl's feature to determine, in current point of loop, that this is the last one?

So lets suppose it's "only" needed for the case foreach(@array) which isn't an iterator but dealing with a flattened list, right?

I don't think so, @array could be tied to an iterator via Tie::Array and IIRC there are already modules on CPAN exploiting this "backdoor".

FWIW it also offers some syntactic sugar to implement your desired feature for a static @array, by designing a sub which returns a tied array-ref wrapping the static one:

for my $var ( @{ guard_last(@array,my $last) } ) { say "IS LAST" if $last; say $var; }
edit

And I'm pretty sure this won't work with Perls older than ~5.10

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery