Sorte de hachage en valeur et de la clé (dans cet ordre)

Je suis à la recherche d'une belle façon de trier une table de hachage en Perl par valeur et par clé par la suite.

Exemple:

 my %userids = (
  williams => "Marketing",
  smith    => "Research",
  johnson  => "Research",
  jones    => "Marketing",
  brown    => "Marketing",
  davis    => "Research"
);

De sortie:

Marketing: brown
Marketing: jones
Marketing: williams
Research: davis
Research: johnson
Research: smith

Veuillez noter que valeur a été le premier tri. Deuxième tri niveau est clé. Une idée de comment faire cela dans un cadre élégant et de haute performance? Merci!

OriginalL'auteur TechnoCore | 2011-10-17