Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Index of Items in Array using foreach loop

by tobyink (Abbot)
on Feb 22, 2013 at 10:50 UTC ( #1020131=note: print w/ replies, xml ) Need Help??


in reply to Index of Items in Array using foreach loop

Don't loop through the array; loop through the indices!

use strict; use warnings; my @SampleArray = ("one", "two", "three"); for my $ArrayIndex ( 0 .. $#SampleArray ) { printf( "%s is at location %d in the array\n", $SampleArray[$ArrayIndex], $ArrayIndex, ); }

Or just use a sufficiently modern version of Perl...

use v5.12; use strict; use warnings; my @SampleArray = ("one", "two", "three"); while (my ($ArrayIndex, $ArrayItem) = each @SampleArray) { printf( "%s is at location %d in the array\n", $ArrayItem, $ArrayIndex, ); }

Update: Although each @array was only added to Perl as of 5.12, Array::Each::Override provides a working implementation of each @array for Perl going back to 5.8.

package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name


Comment on Re: Index of Items in Array using foreach loop
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (5)
As of 2014-09-20 01:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (151 votes), past polls