Bonjour,
Je ne suis pas un crack du perl (pratique 1 fois par an environ...), j'aurais donc besoin d'un coup de main
J'ai un fichier csv que l'on me demandait de trier suivant la première colonnes. Jusque là pas de problème...
Je retrouve mon résultat dans @sorteddatas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 open(FILEIN, "test.csv") or die print "Can't open `$file': $!"; @datas = <FILEIN>; @sorteddatas = sort { $a cmp $b } @datas; ...
Mais malheureusement, la demande a évoluée. Maintenant on me demande d'effectuer le tri sur la 2ieme colonne puis sur la 5ieme...
Je sais que je suis sensé de passer par un sort pour effectuer le tri de tel sorte, du type:
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part @sorted = sort { $hash{$a} cmp $hash{$b} } keys %hash;
Mais malheureusement je ne comprends pas comment effectuer ce tri... Pourriez vous m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part @sorteddatas = sort {(split ';', $a)[2] <=> (split ';', $b)[2]} @datas;
Merci d'avance.
Partager