Ceci est une horreur, ca "marche" mais ce que tu fais exactement est :
- Créer un hash structvar, avec un seul element donc la clé est une référence vers un hash anonyme, stringifiée, et la valeur est indéfinie, donc concrement:
$structvar{'HASH(0x12345678)'} = undef
- Rajouter ce hash à un tableau, ce qui fait que ton @TabVars contient maintenant : ('HASH(0x12345678)', undef).
Une référence est une valeur scalaire, donc il faut l'utiliser dans le bon contexte:
[^] # Re: Trouvé
Posté par duaner . En réponse au message Récupérer les hash dans une liste de hash. Évalué à 3.
Ceci est une horreur, ca "marche" mais ce que tu fais exactement est :
- Créer un hash structvar, avec un seul element donc la clé est une référence vers un hash anonyme, stringifiée, et la valeur est indéfinie, donc concrement:
$structvar{'HASH(0x12345678)'} = undef
- Rajouter ce hash à un tableau, ce qui fait que ton @TabVars contient maintenant : ('HASH(0x12345678)', undef).
Une référence est une valeur scalaire, donc il faut l'utiliser dans le bon contexte:
$structvar = { .... };
push(@TabVars, $structvar);
foreach my $ref (@TabVars) {...}
Je ne suis pas sur de la doc sur laquelle tu t'as basé, mais utilise plutot:
perldoc perlref
perldoc perlreftut
perldoc perldsc
perldoc perllol
Tout y est, sans erreur :)