访问/打印子数组的第n个元素,用于每个数组

bru*_*lin 1 arrays perl

我有一个多维数组:

@multarray =  ( [ "one", "two", "three" ],
                [  4,   5,  6,  ],
                [ "alpha", "beta", "gamma" ]
              );
Run Code Online (Sandbox Code Playgroud)

我可以访问 @multarray[0]

[
    [0] [
        [0] "one"
        [1] "two"
        [2] "three"
    ]
]
Run Code Online (Sandbox Code Playgroud)

甚至 @multarray[0][0]

"one"
Run Code Online (Sandbox Code Playgroud)

但是我如何访问说每个子数组的第一个子元素?类似于multarray[*][0]产生的东西:

"one"
4
"alpha"
Run Code Online (Sandbox Code Playgroud)

谢谢!

too*_*lic 7

您可以使用map和dereference每个数组:

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);

__END__

$VAR1 = [
          'one',
          4,
          'alpha'
        ];
Run Code Online (Sandbox Code Playgroud)

另见:perldsc