Le (on) jeudi 02 octobre 2008 14:16, kurtz_le_pirate a écrit (wrote) :
my $record={};
$record->{valeur}=' ';
$record->{liste}=[1,2,3,4,5,6,7,8,9];
$record->{card}=9;
$tableau[$ligne][$colonne]=$record;
Donc là, $tableau[$ligne][$colonne] est une référence à un hash, et $record
est une référence au même hash. Donc si ultérieurement tu modifies
$record->{liste} tu modifieras aussi $tableau[$ligne][$colonne]{liste} :
est-ce ce que tu veux ?
Tu voulais sans doute plutôt écrire :
$tableau[$ligne][$colonne]={%$record};
qui fait pointer $tableau[$ligne][$colonne] vers un hash anonyme qui est une
copie de celui vers lequel pointe $record au moment de l'assignation.
mais je ne sais pas comment accéder à la xième valeur du tableau dans la
clé {liste} :(
$tableau[..][..]{liste}[x] bien sûr ne fonctionne pas.
Il faudrait préciser « ne fonctionne pas » et surtout dans quelles
circonstances. En tout cas, chez moi ça marche©®.
tout comme, pour avoir la taille, le #???$tableau[..][..]{liste}???
$#{$tableau[0][0]{liste}}
Manuel.