Bonjour,
Je me permets de répondre à ce post pour remercier Iblis pour son apport et à ses réponses précises et bien utiles.
Grâce à toi, j'ai pu faire le tri que je voulais. Voici le type de fichier que je traite.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
0063806643000022605901;005004444D-SA02;TTTCH1
0063806643000022621601;007007203R-SA01;TTREJ1
0063806643000022607201;013032190M-SA01;TTTCH1
0063806643000022607101;013056075Y-SA01;TTTCH1
0063806643000022607701;013057681W-SA01;TTTCH1
0063806643000022652001;021009086W-SA01;TTTCH1
0063806643000022587101;024019182P-SA02;TTREJ1
0063806643000022644201;024201467G-SA01;TTREJ1
0063806643000022622901;026016671X-SA01;TTTCH1
0063806643000022584101;029110555D-SA01;TTREJ1
0063806643000022634401;031118993K-SA01;TTTCH1
0063806643000022634301;031118993K-SA01;TTTCH1
0063806643000022635901;031202606L-SA01;TTTCH1
0063806643000022635601;031202606L-SA01;TTTCH1
0063806643000022635701;031202606L-SA01;TTTCH1
0063806643000022634501;031202606L-SA01;TTTCH1
0063806643000022635801;031202606L-SA01;TTTCH1
0063806643000022634801;031202897Y-SA01;TTTCH1
0063806643000022637801;032001437M-SA01;TTTCH1
0063806643000022637901;032011448Z-SA01;TTREJ1
0063806643000022637001;032011470T-SA01;TTTCH1
0063806643000022644601;033206282D-SA02;TTREJ1
0063806643000022644501;033206282D-SA02;TTREJ1
0063806643000022642701;034030110T-SA01;TTREJ1
0063806643000022642601;034030110T-SA01;TTREJ1
0063806643000022650701;035023636L-SA01;TTTCH1
0063806643000022650601;035023636L-SA01;TTREJ1
0063806643000022650901;035023636L-SA01;TTTCH1
0063806643000022650801;035023636L-SA01;TTREJ1
0063806643000022624601;038120458P-SA01;TTTCH1
0063806643000022608501;038409577M-SA01;TTTCH1
0063806643000022649101;040003693L-SA01;TTREJ1
0063806643000022627001;042030131U-SA01;TTTCH1
0063806643000022610201;042111555X-SA01;TTTCH1
0063806643000022654601;042117647H-SA01;TTTCH1
0063806643000022621701;042213456A-SA01;TTTCH1
0063806643000022626701;042305873R-SA02;TTREJ1
0063806643000022631901;045014885Q-SA01;TTREJ1
0063806643000022586901;049106694N-SA01;TTREJ1
0063806643000022586801;049106694N-SA01;TTREJ1
0063806643000022587001;049106694N-SA01;TTREJ1
0063806643000022632801;049205090T-SA01;TTTCH1
0063806643000022617601;051201135E-SA01;TTTCH1
0063806643000022617801;051201135E-SA01;TTTCH1
0063806643000022618001;054032844Z-SA01;TTTCH1
0063806643000022585401;056115843S-SA02;TTREJ1
0063806643000022585301;056200145Y-SA01;TTTCH1
0063806643000022598101;059056181E-SA01;TTCHEV |
Le code que j'ai écrit permet de trier la deuxième colonne (différenciée par les "points-virgule).
Seulement voilà, une ano m'a été remontée. Après le tri de la deuxième colonne, je dois ensuite trier à partir de la troisième colonne.
Voici le code qui me permet de trier la deuxième colonne. Là aucun soucis.
1 2 3 4 5 6 7 8
|
my %data;
while (my $line = <>) {
my $tri = (split /;/, $line)[1];
$data{$line} = $tri;
}
my @sorted_lines = sort { $data{$a} cmp $data{$b} } keys(%data); |
Au départ je voulais faire le tri de cette façon en remplaçant
my $tri = (split /;/, $line)[1];
par
my $tri = (split /;/, $line)[1..2];
Mais ça ne marche pas. Là je bloque.
Pouvez-vous me dire ce qui ne vas pas svp!!
Merci d'avance pour vos réponses. N'hésitez pas à me faire répéter si vous ne comprenez pas mon problème.
Partager