use strict; use warnings; my @array1= qw(H1 H2 H3 H1 H2 H3 H1 H2 H3); my @array2= (23, 42, 34, 63, 33, 66, 22, 33, 49); my %hash; push @{$hash{$array1[$_]}}, $array2[$_] for 0 .. $#array1; print "$_: @{$hash{$_}}\n" for sort keys %hash; #### H1: 23 63 22 H2: 42 33 33 H3: 34 66 49