Bonjour,
Merc de m'expliquer cette structure :
avec hash : un tableau associativeCode:
1
2 $Hash->{$seq}->[@{$Hash->{$seq}}] = $noeud;
$seq, $noeud : chaine de caractère
Version imprimable
Bonjour,
Merc de m'expliquer cette structure :
avec hash : un tableau associativeCode:
1
2 $Hash->{$seq}->[@{$Hash->{$seq}}] = $noeud;
$seq, $noeud : chaine de caractère
C'est une très mauvaise façon d'ajouter un élément à une entrée d'une référence d'un hash contenant des références à des tableaux.
EDIT: je détaille un peu plus.
La commande @{$Hash->{$seq}}, en contexte scalaire, renvoie la taille du tableau contenu à la clé $seq dans le hachage auquel $Hash fait référence. Cette taille, qui constitue également le premier indice non utilisé de la fin du tableau, est utilisée pour ajouter un élément au tableau.
Je ne sais pas qui a écrit ce truc, mais c'est un vrai cochon. Ou alors c'est un professeur tordu.
Pour plus d'infos, voir la FAQ sur les références.
Une façon plus propre de procéder serait d'utiliser la fonction push. Voir la perldoc perlfunc pour plus d'infos sur push.
Merci Schmorgluck pour cette explication :ccool:
OUI , ça sera plus propre d'utiliser puch :mrgreen: