Perl将阵列放置在特定列的2D阵列中

时间:2012-12-23 18:29:46

标签: arrays perl multiple-columns

我有一个2D数组。 我可以通过以下方式获得给定的列:

my @column_zero=map {$_->[0]} @{$twod_array};

然后我可以随意操纵@column_zero

但是如何将它放回二维数组?

2 个答案:

答案 0 :(得分:4)

或许更好地获取对值的引用:

my @ref_to_column_zero = map { \($_->[0]) } @{$twod_array};

...所以你可以直接操作这些值:你只需要记住存在于这个数组中的引用,所以它们应该被解引用。例如:

for (@ref_to_column_zero) {
  ${ $_ } *=2;
}

如果您更喜欢使用旧方法,可以这样做:

for (0..$#column_zero) {
  $twod_array->[$_][0] = $column_zero[$_];
}

答案 1 :(得分:1)

TMTOWTDI所以

do{my $i; $twod_array[$i++][0] = $_ for @column_zero;};