in reply to Combining 2 Lists into a Hash revisted

The key is realizing that a hash element can store a reference to something else (such as an array). For a good discussion of the technique see perllol. Sample code looks like:

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;

Prints:

H1: 23 63 22 H2: 42 33 33 H3: 34 66 49

Also see perlref and perldata.


DWIM is Perl's answer to Gödel