Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Printing from three arrays

by FreeBeerReekingMonk (Deacon)
on Sep 26, 2019 at 21:06 UTC ( [id://11106768]=note: print w/replies, xml ) Need Help??


in reply to Printing from three arrays

edit:Deleted code that was identical to Discipulus's code.

You want to loop over the array index, you need to enumerate from 0 to the array length minus 1, which is that "$#". The initialization (my $i = $j = $k = 0;) is not required because you already use the "my" in each loop.

A more C stylish approach (not necessarily better):

#!/usr/bin/env perl use strict; use warnings; my @array1 = (1, 2, 3); #veryfast my @array2 = (qw/a b c/); # Enough to test #veryslow my @array3 = (qw/I II III/); # my $i = $j = $k = 0; for(my $i=0;$i<=$#array2;$i++) { for(my $j=0;$j<=$#array3;$j++) { for(my $k=0;$k<=$#array1;$k++) { print "$array1[$k],$array2[$i],$array3[$j],\n"; } } }

Note that because in each iteration it needs to calculate $# these loops are slower than iterating over the values of each array, as already shown by other monks.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (7)
As of 2024-04-18 07:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found