Salut à tous J'ai eu le problème que je ne peux pas retourner la valeur et la clé dans le hachage du tableauproblème Hash d'Array
sub nextWords{
for my $language(0 .. $#language)
{
my $eng = $db->selectall_arrayref("select word from words
left outer join language
on words.languageId = language.languageId
where words.languageId = $language
order by word asc
;"); # @language[$id] limit 10 offset $currentOffset
#%returnArray2d = (@language[$language] =>[@$eng]);
$returnArray2d{@language[$language]} = [@$eng];
}
return %returnArray2d;
}
Je ne peux pas vraiment revenir toute la liste des mots
my %newwordsList =NextWords();
foreach my $key(keys %newwordsList)
{
print "here you are 2 : " . $key . "\n";
for my $ind(0 .. @{$newwordsList{$key}}){
print "dzo" . $newwordsList{$key}[$ind] . "\n";
}
}
output: $key ==> 132 not 123
et le mot ne peut pas être imprimé .. il imprime juste quelques
ARRAY(0x320d514)
ARRAY(0x320d544)
ARRAY(0x320d574)
ARRAY(0x320d5a4)
ARRAY(0x320d5d4)
ARRAY(0x320d604)
S'il vous plaît aider .. merci
en outre, dans vos instructions d'impression, cela pourrait fonctionner mieux pour vous: 'while (mon ($ language_id, $ words) = chaque% newwordsList) { print" $ language_id @ $ words \ n "; } ' – l8nite
Remplacez' pour mon $ ind (0 .. @ {$ newwordsList {$ key}}) {'avec' pour mon $ ind (0 .. $ # {$ newwordsList {$ key}}) {' éviter l'erreur de fencepost. –
Merci David, j'ai mis à jour ma réponse pour ajouter votre suggestion. – l8nite