[Perl] Question sur les tris (sort)

Résolu/Fermé
KuKrApOk59 Messages postés 437 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 13 septembre 2013 - Modifié par KuKrApOk59 le 19/05/2010 à 17:52
KuKrApOk59 Messages postés 437 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 13 septembre 2013 - 21 mai 2010 à 11:26
Bonjour,

Je suis confronté à un problème tout bête, mais ennuyeux
Je cherche à faire un sort ...

while (<XML>) {   
    $XMLhash{$i}   
    $i++;   
}   
foreach my $key ( sort keys %XMLhash ) {   
    print $key;   
}

J'ai une liste "mal" triée en retour ...
0 1 10 100 1000 1001 1002 [...]

Comment puis-je faire pour avoir un "vrai" tri de ce type ?
0 1 2 3 [...] 10 11 [...] 100

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

2 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
Modifié par lami20j le 19/05/2010 à 20:50
Salut,

foreach my $key ( sort { $a <=> $b }keys %XMLhash )


GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
0
KuKrApOk59 Messages postés 437 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 13 septembre 2013 84
20 mai 2010 à 18:10
Merci !

J'avais du mal à "googler" mon besoin pour trouver ce petit opérateur 'vaisseau spatial'
Au vu du nom, je ne risque pas de l'oublier, tout comme le joli 'opérateur diamant' :)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
20 mai 2010 à 20:14
Salut,

J'avais du mal à "googler" mon besoin

Puisque ce besoin il faut le traduire avec les bons mots clés ;-)
Par exemple tri numérique en perl

En fait sort par défaut fait un tri asciibéthique (voir aussi l'opérateur explicite cmp) et tu avais besoin d'un tris numérique.

Tu sais d'où viens le nom de l'opérateur diamant? ;-)
0
KuKrApOk59 Messages postés 437 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 13 septembre 2013 84
21 mai 2010 à 11:26
Pour l'opérateur diamant, je suppose que c'est pour sa forme ? ^^
0