[Perl]-Tableau assoc à 2 dimensions
Fermé
blux
Messages postés
24869
Date d'inscription
dimanche 26 août 2001
Statut
Non membre
Dernière intervention
18 mars 2023
-
9 oct. 2007 à 15:59
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 9 oct. 2007 à 20:01
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 9 oct. 2007 à 20:01
A voir également:
- Perl tableau 2 dimensions
- Tableau croisé dynamique - Guide
- Jdownloader 2 - Télécharger - Téléchargement & Transfert
- Tableau ascii - Guide
- 2 comptes whatsapp - Guide
- Afficher un tableau en c - Forum C
4 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 566
9 oct. 2007 à 20:01
9 oct. 2007 à 20:01
et bien sûr je suis susceptible de rajouter des colonnes d'un traitement à l'autre...
tu peux établir le nombre de colonnes (voir le tableau @col)
tu peux établir le nombre de colonnes (voir le tableau @col)
lami20j@debian:~/trash$ cat ccm.pl
#!/usr/bin/perl
use strict;use warnings;
my %h;
my $l;
my @col = 'A' .. 'F';
while(<DATA>){
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";
}
__END__
A 50 machine1
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
E 5 machine1
F 5 machine2
C 10 machine2
A 50 machine1
A 20 machine1
B 5 machine1
A 5 machine2
C 10 machine2
lami20j@debian:~/trash$ perl ccm.pl
machine A B C D E F
machine1 210 15 0 70 5 0
machine2 15 0 40 0 0 5
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 566
9 oct. 2007 à 16:25
9 oct. 2007 à 16:25
Salut,
je vais voir ça ce soir ;-)
je vais voir ça ce soir ;-)
blux
Messages postés
24869
Date d'inscription
dimanche 26 août 2001
Statut
Non membre
Dernière intervention
18 mars 2023
3 308
9 oct. 2007 à 16:34
9 oct. 2007 à 16:34
Cool !
merci d'avance, je patiente...
merci d'avance, je patiente...
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 566
9 oct. 2007 à 17:21
9 oct. 2007 à 17:21
Re,
voilà,
Resultat
lami20j
voilà,
#!/usr/bin/perl
use strict;use warnings;
my %h;
while(<DATA>){
/(\w+)\s*(\w+)\s*(\w+)/;
push @{$h{$3}{$1}},$2;
push @{$h{$3}{'A'}},0 unless exists $h{$3}{'A'};
push @{$h{$3}{'B'}},0 unless exists $h{$3}{'B'};
push @{$h{$3}{'C'}},0 unless exists $h{$3}{'C'};
}
print "machine A B C\n";
for my $k(keys %h){
print "$k";
for my $kk(sort keys %{$h{$k}}){
print " ",eval ( join "+",@{$h{$k}{$kk}});
}
print "\n";
}
__END__
A 50 machine1
A 20 machine1
B 5 machine1
A 5 machine2
C 10 machine2
Resultat
root@debian:~/src# perl blux.pl machine A B C machine1 70 5 0 machine2 5 0 10--
lami20j