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
In reply to Re^2: simple array question
by Marshall
in thread simple array question
by tw
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |