my %beancounts; while (<>) { my ($x, $y) = split; ++$beancounts{$x}{$y}; } for my $x (sort {$a <=> $b} keys %beancounts) { for my $y (sort {$a <=> $b} keys %{$beancounts{$x}}) { print "$x $y $beancounts{$x}{$y}\n"; } }