OVH Cloud OVH Cloud

hash et tableau

4 réponses
Avatar
Etienne SOBOLE
salut.

j'aimerai faire un tableau associatif dont la value est elle meme un
tableau.
un truc genre

%mon_hash = ("cle", ["v1", "v2"]);

ou, ["v1", "v2"] serait un tableau...
du coup :

while (($k, $v) = each(%mon_hash))
{
print $v[0];
print $v[1];
}

devrait afficher 'v1v2'

comment puis je faire?
merci

Etienne

4 réponses

Avatar
Denis -esp2008-
Bonjour,

j'aimerai faire un tableau associatif dont la value est elle meme un
tableau.
perldoc perllol


---
Denis

Avatar
jeanpierre.vidal
"Etienne SOBOLE" wrote in message news:<bjqarb$1j2$...
salut.

j'aimerai faire un tableau associatif dont la value est elle meme un
tableau.
un truc genre

%mon_hash = ("cle", ["v1", "v2"]);

ou, ["v1", "v2"] serait un tableau...
du coup :

while (($k, $v) = each(%mon_hash))
{
print $v[0];
print $v[1];
}

devrait afficher 'v1v2'

comment puis je faire?


print $$v[0];
print $$v[1];

en fait, clé et valeur d'un hash sont des scalaires et ["v1", "v2"]
est une référence sur un tableau.

Jean-Pierre

merci

Etienne


Avatar
Thibault
Etienne SOBOLE wrote:
salut.

j'aimerai faire un tableau associatif dont la value est elle meme un
tableau.
un truc genre

%mon_hash = ("cle", ["v1", "v2"]);

ou, ["v1", "v2"] serait un tableau...
du coup :

while (($k, $v) = each(%mon_hash))
{
print $v[0];
print $v[1];
}

devrait afficher 'v1v2'

comment puis je faire?
merci

Etienne






Juste pour te donner un exemple après les informations qui t'ont été
données :
%mon_hash = ( ma_cle => ['v1','v2'],
ma_cle2 => ['v3','v4'],
);

ensuite si tu veux parcourir ta structure :

foreach my $key (keys %mon_hash) {
print "ncle : $key => ";
foreach my $item (@{$mon_hash{$key}}) { print "$item, "; }
}

devrait donner :
cle : ma_cle => v1, v2,
cle : ma_cle2 => v3, v4,


A+

Thibault

Avatar
Etienne SOBOLE
Merci. je vais tester tous ca!

Etienne

"Thibault" a écrit dans le message de news:


Juste pour te donner un exemple après les informations qui t'ont été
données :
%mon_hash = ( ma_cle => ['v1','v2'],
ma_cle2 => ['v3','v4'],
);

ensuite si tu veux parcourir ta structure :

foreach my $key (keys %mon_hash) {
print "ncle : $key => ";
foreach my $item (@{$mon_hash{$key}}) { print "$item, "; }
}

devrait donner :
cle : ma_cle => v1, v2,
cle : ma_cle2 => v3, v4,


A+

Thibault