use strict; use warnings; my %hash; m/(\d+),(\d+)/ and push(@{$hash{$1}}, $2) for ; for (sort keys %hash) { print "$_ => "; print "$_ " for sort @{$hash{$_}}; print "\n"; } __DATA__ 2,6 2,3 1,2 2,5 1,3 1,4