Affichage d'une table de hachage
Slt,
Comment récupérer les valeurs d'une table de hachage référencé dans une autre?
Voici le code "en gros" de ce que je fait :
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 29 30 31 32 33 34 35 36 37
|
my %H_str;
my %H_str2;
while(...)
{
while(...)
{
#je remplis ma premiere table de hash
$H_str{"mykey"} = [ $v1,$v2 ];
}
#je remplis ma deuxieme table, avec une référence sur H_str
# je ne sais pas si c'est la bonne solution...
$H_str2{"mykey2"} = [ %H_str ];
}
#Affichage
# losrque je met %H_hash, j'ai un warning : 0dd number of elments in hash ...
# Pourtant c'est un une table de hachage qui devrait être retournée, ou tout du moin une référence?
#while( my ($key,%H_hash) = each(%H_str2)
#{
# ...
#}
# là sa fonctionne
while( my ($key,@tab) = each(%H_str2)
{
foreach my $v (@tab)
{
print "$v->[0]\n $v->[1]\n $v->[2]..."
#ce qui m'affiche :
#$v->[0] = une key de H_str
#$v->[1] = une ARRAY (correspond à la key)
#$v->[2] = la key de H_str
#$v->[3] = une ARRAY (correspond à la key)
# etc... suivant le nombre d'élément dans la hash référencée
}
} |
Si quelqu'un pouvais m'éclairer, je suis un peu perdu avec mes références :aie: