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;