Bonjour,

Je veux compter le nombre de fois qu'un élement apparaît
papa xxx xxxx xxxx xxxx
mama xxx xxx xxx xxx
papa xxx xxxx xxxx xxxx
toto xxx xxxx xxxx xxxx
papa xxx xxxx xxxx xxxx

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
while (my $ligne = <DATA> ) {
chomp $ligne;
if($ligne =~ /(.+)\t([0-9]+)\t(.+)\t(.+)$/){
# je récupère la clé et la valeur
my $key = $1;
my $value = 1;
if (exists $in_file{$key}) {
 # la clé existe déjà (ie valeur de la clé=1), on ajoute la valeur à la valeur déjà présente
$value = $value + 1;
$in_file{$key} = $value;	
 
 }
else {
# la clé n'existe pas, on l'ajoute avec la valeur correspondante
$in_file{$key} = $value;
}
}
}
foreach my $id (sort keys %in_file) {
  print "$id=>$in_file{$id}\n";
}
j'obtiens au final
mama xxx=>1
papa xxx=>2 # je devrais avoir 3!!!
toto xxx=>1

pourquoi papa=>3