Table de hachage en Perl
Fermé
Niroise
Messages postés
29
Date d'inscription
lundi 23 avril 2012
Statut
Membre
Dernière intervention
3 août 2012
-
3 août 2012 à 15:30
Idéophage Messages postés 43 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 23 novembre 2013 - 26 août 2012 à 17:07
Idéophage Messages postés 43 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 23 novembre 2013 - 26 août 2012 à 17:07
A voir également:
- Table de hachage en Perl
- Table ascii - Guide
- Table des matières word - Guide
- Denon perl pro test - Accueil - Audio
- Table des annexes word ✓ - Forum Word
- Table des matières et table des annexes - Forum Word
1 réponse
Idéophage
Messages postés
43
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
23 novembre 2013
5
26 août 2012 à 17:07
26 août 2012 à 17:07
Salut,
Je répond un peu tard, mais comme ça il y aura une réponse :
Les tables de hachages en Perl ne peuvent pas contenir plusieurs valeurs pour une même clef. Il faut pour cela utiliser des références vers un tableau de valeurs correspondants à cette clef. Voici un code d'exemple :
Je répond un peu tard, mais comme ça il y aura une réponse :
Les tables de hachages en Perl ne peuvent pas contenir plusieurs valeurs pour une même clef. Il faut pour cela utiliser des références vers un tableau de valeurs correspondants à cette clef. Voici un code d'exemple :
my %hash = (); # Lecture de la table de hachage (entrée standard) : my ($lgLue, $clef, $valeur) = (); sub lirePaire { $lgLue = <>; chomp $lgLue; ($clef, $valeur) = ((split '=>', $lgLue), undef); # L'OP aurait mis ' ' à la place de '=>' return 0 unless( defined $valeur ); # ou avec une regex telle que $lgLue =~ m=end|fin=i if( defined $hash{$clef} ) { push @{$hash{$clef}}, $valeur; } else { $hash{$clef} = [$valeur]; } return 1; } while( lirePaire ) {} #affichage : foreach my $clef (keys %hash) { print "$clef : $_\n" foreach(@{ $hash{$clef} }); }