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 50 51 52 53 54 55 56 57 58
| #! /usr/bin/perl
use 5.10.0;
use strict;
use warnings;
use diagnostics;
use constant TRUE => (1);
use constant FALSE => (0);
my $Compteur = TRUE;
my $SpecialChar = (FALSE);
my @Tableau1 = (
"LTR1",
"LTR10",
"LTR11",
"LTR1A",
"LTR1B",
"LTR1_",
"LTR2",
);
my (@FinalTab, @SortedTab) = ();
BEGIN:
say ("[*] Debut du traitement");
foreach my $lines(sort(@Tableau1)){
# On récupere la ligne contenant notre caractere spécial
if ($lines =~ /[_]/) {
$SpecialChar = $lines;
next;
}
push (@FinalTab, $lines);
}
foreach my $lines(@FinalTab){
# On place la ligne contenant le caractere spécial avant LTR10
if ($lines =~ /[0]/) {
push(@SortedTab, $SpecialChar);
my $Char =$SpecialChar;
$SpecialChar =~ s/$Char//g;
}
push(@SortedTab,$lines);
}
foreach my $Sorted(@SortedTab){
# On affiche le tableau trié
say ("Boucle N. $Compteur = $Sorted");
$Compteur++;
}
say ("[*] Fin du traitement");
exit(TRUE); |
Partager