http://www.perlmonks.org?node_id=162512


in reply to Sorting Keys and Values

Before you get too carried away, you need to correct some business logic first. You say the following is your desired output:

1st Place: user3 (232 Points)
2nd Place: user1 (200 Points)
3rd Place: user2 (190 Points), user5 (190 Points)
4th Place: user4 (187 Points)

What you have to do is where two (or more) people tie for a place, you have to skip that number of places for the next place. Thus in the above situation you have no "4th place"; rather, user 4 is in 5th place. Of course, had three people tied for 3rd place, then the next place awarded would be 6th place.