我有以下数组,我需要将输出映射到哈希结构中@array2
的@array3
键。@array1
@array1 = ('a', 'b', 'c');
@array2 = (1, 2, 3);
@array3 = ('j', 'k', 'l');
预期输出:
a => [1, 'j']
b => [2, 'k']
c => [3, 'l']
循环遍历第一个数组的每个索引并将您想要的内容推送到目的地。请注意,%hash
需要的值是 list- refs。
$ cat ./foo.pl
#! /usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @array1 = ( "a", "b", "c" );
my @array2 = ( 1, 2, 3 );
my @array3 = ( "j", "k", "l" );
my %hash;
for( my $i = 0; $i < scalar(@array1); $i++ ){
push( @{$hash{$array1[$i]}}, $array2[$i], $array3[$i] );
}
print Dumper( \%hash );
$ ./foo.pl
$VAR1 = {
'c' => [
3,
'l'
],
'a' => [
1,
'j'
],
'b' => [
2,
'k'
]
};
请注意,为了将来参考,向 SO 社区展示您自己在学习和解决此问题方面付出了一些努力(特别是通过向我们展示您尝试过的内容)非常重要。很可能,由于您根本没有这样做,因此该问题将被版主关闭。