Salut.
J'ai un problème d'accès à une information contenu dans un hash de hash.
Je m'explique. j'ai déclaré et généré un hash de hash. Pour l'un des couples clé/clef/valeur j'ai besoin qu'elle prenne les valeur d'un tableau déjà existant. Voici la partie de mon code ou je déclare mon double hash
(les ... représentent les champs de mon hash)
je voulais savoir si ma déclaration est correcte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 open ("TMP" , "cmde syst |") or die ("Pb cmde lssyscfg : $! \n"); while (<TMP>) { @tabPartition = split(',',$_); $hashRess {$tabPartition[0]} = {default_profil => $tabPartition[1], name => 'null', ... io_slots => 'null'};# c'est la clé devant contenir mon tableau } close (TMP);
Par ailleurs, dans la suite de mon programme, je remplie les champs suite à divers traitements.
Je ne sais pas comment afficher/accéder au premier élement contenu dans le champ $hashRess{$cle}{io_slots}.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #pour mon tableau j'ai la ligne suivante $hashRess{$cle}{io_slots} = @tabIO;
je croyais pouvoir le faire de la maniere suivante :
j'ai juste besoin de savoir comment accéder à une cellule.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 print $hashRess{$cle}{io_slots[0]}; # erreur à la compilation : syntax error at ... near "io_slots[" #ou print $hashRess{$cle}{io_slots}[0]; # erreur à la compilation : Can't use string ("6") as an ARRAY ref while "strict refs" in use at ...
En esperant que mes axplications sont cohérentes.
@+++
kunu
Partager