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)
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);
je voulais savoir si ma déclaration est correcte.
Par ailleurs, dans la suite de mon programme, je remplie les champs suite à divers traitements.

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 ne sais pas comment afficher/accéder au premier élement contenu dans le champ $hashRess{$cle}{io_slots}.
je croyais pouvoir le faire de la maniere suivante :
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 ...
j'ai juste besoin de savoir comment accéder à une cellule.

En esperant que mes axplications sont cohérentes.
@+++
kunu