IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Question sur les tris de Hash / Valeur


Sujet :

Langage Perl

  1. #1
    KuK
    KuK est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Question sur les tris de Hash / Valeur
    Bonjour,

    Imaginons un script de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/usr/bin/perl    
    use warnings;
    use strict;
     
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    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

    Je suis un peu perdu
    Auriez vous un petit coup de pouce, une idee ?

    J'ai lu pas mal de posts ici relatifs aux tris par valeurs de Hashs
    Mais je n'arrive pas a le transposer ici.
    Ce sont généralement des tris pour des hash "simpes" : $HASH{'Clef'} = 'valeur'

    Merci d'avance

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     #!/usr/bin/perl
    use warnings;
    use strict;
     
    my %HASH;    
     
    $HASH{'ClefA'}{'Nombre'} = "61";    
    $HASH{'ClefB'}{'Nombre'} = "50";    
    $HASH{'ClefC'}{'Nombre'} = "92";
     
    foreach my $cle ( sort { $HASH{$b}{Nombre} <=> $HASH{$a}{Nombre} } keys %HASH ) {
      print "$HASH{$cle}{Nombre} : $cle\n";
    }

  3. #3
    KuK
    KuK est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci

    Cela fonctionne parfaitement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question sur les tris des tutoriels.
    Par wimbish dans le forum Evolutions du club
    Réponses: 5
    Dernier message: 02/04/2012, 11h31
  2. [XL-2007] Question sur les tris est les sous-totaux
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/11/2011, 19h23
  3. Question sur les tris !
    Par Antichoc dans le forum z/OS
    Réponses: 2
    Dernier message: 01/10/2009, 13h30
  4. Réponses: 2
    Dernier message: 28/03/2008, 23h28
  5. question sur les valeurs de retour
    Par arasium dans le forum Langage
    Réponses: 10
    Dernier message: 24/07/2006, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo