in reply to Re: simple array question
in thread simple array question
There is a difference between: ( paren , [ square bracket and { curly brace!
By using "(" you would get an array of arrays. When you add the extra [, you are adding an additional dimension to the structure and getting arrays of arrays of arrays. So you have to throw in an additional de-referencing operator.
In a multi-dimensional structure everything is a reference until you get to the last thing which is the actual data.#!/usr/bin/perl use strict; use warnings; my @compass = ( ["NW", "N", "NE"], ["W", "center", "E"], ["SW", "S", "SE"] ); my @compassB = ( [ ["NW", "N", "NE"], ["W", "center", "E"], ["SW", "S", "SE"] ], [ ["A", "B", "C"], ["D", "E", "F"] ] ); print $compass[0]->[1]; #prints N print $compassB[0]->[0]->[1]; #prints N print $compassB[1]->[0]->[1]; #prints B my $ref=\@compassB; #added example with reference print $ref->[0]->[0]->[1]; #prints N my $firstAoA = $compassB[0]; print $firstAoA->[0][1]; #prints N
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: simple array question
by tw (Acolyte) on Jan 03, 2011 at 04:22 UTC | |
by Marshall (Canon) on Jan 03, 2011 at 05:18 UTC | |
by tw (Acolyte) on Jan 03, 2011 at 12:36 UTC | |
by Marshall (Canon) on Jan 03, 2011 at 13:37 UTC | |
by tw (Acolyte) on Jan 03, 2011 at 15:33 UTC | |
| |
by Marshall (Canon) on Jan 03, 2011 at 14:10 UTC |