a b c 0 0 d 0 1 d 0 1 d 0 2 d 0 2 d 1 0 d 1 0 d 1 1 d 1 1 d 1 2 d 1 2 d #### a b c a b c 0 0 d 1 0 d 0 1 d 1 0 d 0 1 d 1 1 d 0 2 d 1 2 d 0 2 d 1 2 d #### foreach my $va (sort {$a <=> $b} keys %myhash) { foreach my $vb (sort {$a <=> $b} keys %{ $myhash{$va} }) { my $vc = $myhash{$va}{$vb}; print OUTFILE "$va\t$vb\t$vc\n"; } } }