[Perl] Question sur les tris de Hash

Résolu/Fermé
KuKrApOk59 Messages postés 437 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 13 septembre 2013 - 27 juin 2012 à 11:13
KuKrApOk59 Messages postés 437 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 13 septembre 2013 - 27 juin 2012 à 14:14
Bonjour,

Imaginons un script de ce type :

#!/usr/bin/perl    

my %HASH;    

$HASH{'ClefA'}{'Nombre'} = "61";    
$HASH{'ClefB'}{'Nombre'} = "50";    
$HASH{'ClefC'}{'Nombre'} = "92";

Je voudrais pouvoir trier sur la valeur de 'Nombre' et avoir un retour du type

92     ClefC    
61     ClefA    
50     ClefB
(Un tri descendant/ascendant a la rigueur, peu m'importe)

Sauf, que je n'arrive pas a effectuer un sort sur les valeurs de mon Hash
Sur les keys, pour un tri numérique, je m'en sors avec un avec un

... sort { $a <=> $b }keys ...

Mais là, je suis perdu

Un petit coup de pouce ?

Merci d'avance
Si vous avez votre réponse, pensez à spécifier : [Résolu]

1 réponse

KuKrApOk59 Messages postés 437 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 13 septembre 2013 84
27 juin 2012 à 14:14
Réponse, pour faire avancer le Shmilblick

foreach my $cle ( sort { $HASH{$b}{Nombre} <=> $HASH{$a}{Nombre} } keys %HASH ) {
  print "$HASH{$cle}{Nombre} : $cle\n";
}
0