I have a multidimensional array:
@multarray = ( [ "one", "two", "three" ],
[ 4, 5, 6, ],
[ "alpha", "beta", "gamma" ]
);
I can access @multarray[0]
[
[0] [
[0] "one"
[1] "two"
[2] "three"
]
]
or even @multarray[0][0]
"one"
But, how do I access say the 1st sub element of every sub array? Something akin to multarray[*][0]
to produce:
"one"
4
"alpha"
You can use map and dereference each array:
use warnings;
use strict;
use Data::Dumper;
my @multarray = (
[ "one", "two", "three" ],
[ 4, 5, 6, ],
[ "alpha", "beta", "gamma" ]
);
my @subs = map { $_->[0] } @multarray;
print Dumper(\@subs);
Output:
$VAR1 = [
'one',
4,
'alpha'
];
See also: perldsc