[Perl] Question sur les tris de Hash [Résolu/Fermé]

Signaler
Messages postés
437
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
-
Messages postés
437
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
-
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

Messages postés
437
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
13 septembre 2013
82
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";
}