Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: Foreach Loops

by reasonablekeith (Deacon)
on Mar 16, 2005 at 11:10 UTC ( #439902=note: print w/replies, xml ) Need Help??

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

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://439902]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (11)
As of 2016-10-28 21:14 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (387 votes). Check out past polls.