while( ($key, $value) = each %rank ) { $rank = $rank . " " . $key; } push @rank, split(/\s/, $rank); @rank2=sort { $b <=> $a } @rank; foreach my $rank2 (@rank2) { print $rank2 . "\n"; print "$rank2\n\n" . $rank{"$rank2"} . "\n\n"; }