in reply to Foreach Loops
What do you think of the following?
It needs a package variable of $main::doforeach_index, but providing you don't override this value you can do nested loops galore with an automagic index. Shame it's the wrong way around. I couldn't swap it round, can anyone else?
use strict; sub doforeach (&@) { my $coderef = shift; my $index=0; for (@_) { no strict "vars"; $doforeach_index = $index; &$coderef; $index++; } } sub doforeach_index () { return our $doforeach_index; } doforeach { print doforeach_index . "=$_\n" } ('one','two','three'); #prints... #0=one #1=two #2=three
In Section
Seekers of Perl Wisdom