Bonjour,
est ce que quelqu'un, plein de bonne volonté, pourrai m'expliquer ce code ?
le résultat convient presque à mes attentes mais je n'arrive pas à déchiffrer le code (surtout au niveau de la syntaxe des tableaux),
si je veux le façonner pour mon cas d'utilisation il faut que je le comprenne.
le fichier TCD :
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 #!/usr/bin/perl use warnings; use strict; open(TCD,"tcd") || die ("Erreur d'ouverture de tcd"); my %h; my $l; my @col = 'A' .. 'D'; while(<TCD>){ next if /^$/; /(\w+)\s*(\w+)\s*(\w+)/; push @{$h{$3}{$1}},$2; for $l(@col){ push @{$h{$3}{$l}},0 unless exists $h{$3}{$l}; } } print "machine @col\n"; for my $k(keys %h){ print "$k"; for my $kk(sort keys %{$h{$k}}){ print " ",eval ( join "+",@{$h{$k}{$kk}}); } print "\n"; }
A 20 machine1
B 5 machine1
A 5 machine2
C 10 machine2
A 50 machine1
A 20 machine1
B 5 machine1
A 5 machine2
C 10 machine2
D 50 machine1
D 20 machine1
le résultat :
machine A B C D
machine1 90 10 0 70
machine2 10 0 20 0
et l'autre question, a quel moment intervient l'addition (parce que je n'en veux pas)?
merci !![]()
Partager