compréhension de code (tableaux)
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.
Code:
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";
} |
le fichier TCD :
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 ! ;)