Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: how to use two dimensional array?

by muba (Priest)
on Jun 14, 2013 at 05:57 UTC ( #1038893=note: print w/replies, xml ) Need Help??

in reply to how to use two dimensional array?

hi sankar R, welcome to Perlmonks! You might want to check the markup of your post, and throw in a few <code>...</code> tags to make it more readable.

As to answer your question:

1. If you want to access an element in a two-dimensional array, you'll need two indexes (one for each dimension). For an array to be two-dimensional, it just means that it is an array where each element is also an array (or more correctly, an array reference). If you just want to get the inner array without caring that it is an array, then you could do it with a single index.

2. I infer that you mean that you have an array with 10 elements, each containing an array of 2 elements. Is this correct?

3. Ok, that's clear. You want to access the elements of the inner arrays one by one.

4. Well...
a) What have you tried?
b) How did it work?
c) How didn't it work?
d) What output did you expect?
e) What output did you get, including error messages if any?

How does this fail you?

use strict; use warnings; my @array1 = ( ["first #1", "first #2"], ["second #1", "second #2"], ["third #1", "third #2"], ); my $outer_idx = 0; my $inner_idx = 0; printf "One: %s; Two: %s\n", $array1[$outer_idx]->[0], $array1[$outer_ +idx]->[1]; $outer_idx++; printf "One: %s; Two: %s\n", $array1[$outer_idx]->[0], $array1[$outer_ +idx]->[1];


One: first #1; Two: first #2 One: second #1; Two: second #2

5. I think I did that in point 4. :) Cheers.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2021-03-05 13:24 GMT
Find Nodes?
    Voting Booth?
    My favorite kind of desktop background is:

    Results (111 votes). Check out past polls.