Bonjour, j'ai 3 arrays et j'aimerais qu'elles s'affichent en colonnes parallèles et non en lignes. (voir sortie du script)
Voici un script qui fonctionne et m'affiche bien les valeurs en colonnes, avez vous une idée plus élégante?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #!/usr/bin/perl use strict; use warnings; use Statistics::Lite qw(max); my @val_2 = qw {8 7 2 4 9 3 6 8 15 87}; my @val_3 = qw {15 8 2 7 8 15 87}; my @val_4 = qw {87 0 231 9 48 8 8 3 78 48 5 69 235 2}; # affichage en lignes #------------------------ print "Double\t".join ("\t", sort {$a<=>$b} @val_2).qq{\n}; print "Triple\t".join ("\t", sort {$a<=>$b} @val_3).qq{\n}; print "Quadruple\t".join ("\t", sort {$a<=>$b} @val_4).qq{\n\n}; # affichage en colonnes #------------------------ @val_2 = sort {$a<=>$b} @val_2; @val_3 = sort {$a<=>$b} @val_3; @val_4 = sort {$a<=>$b} @val_4; # array la plus longue my $max_index = max($#val_2, $#val_3, $#val_4 ); print "Double\tTriple\tQuadruple\n"; for my $i (0.. $max_index){ if (defined $val_2[$i]){ print $val_2[$i]."\t"; } else{ print "\t"; } if (defined $val_3[$i]){ print $val_3[$i]."\t"; } else{ print "\t"; } if (defined $val_4[$i]){ print $val_4[$i]."\t"; } else{ print "\t"; } print "\n"; }
Sortie
Merci,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Double 2 3 4 6 7 8 8 9 15 87 Triple 2 7 8 8 15 15 87 Quadruple 0 2 3 5 8 8 9 48 48 69 78 87 231 235 Double Triple Quadruple 2 2 0 3 7 2 4 8 3 6 8 5 7 15 8 8 15 8 8 87 9 9 48 15 48 87 69 78 87 231 235
Partager