Salut a tous,
Je déclare mon hash de hash (de hash) de cette manière :
Puis dans une boucle foreach je "rempli" le hash de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 my %audio_dvd = (); keys (%audio_dvd) = 0; keys (%{$audio_dvd{0}}) = 'aid'; # aid
Et voilà le warning :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 foreach my $lvar (@aid) { keys (%{$audio_dvd{0}{'aid'}}) = $i; $audio_dvd{0}{'aid'}{$i} = $aid[$i]; $i++; }
Le seul truc que je capte pas, c'est lorsque je remplace ça :Argument "aid" isn't numeric in scalar assignment at ./trans264.pl line 1304,
<STDIN> line 6 (#1)
(W numeric) The indicated string was fed as an argument to an operator
that expected a numeric value instead. If you're fortunate the message
will identify which operator was so unfortunate.
Par ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part keys (%{$audio_dvd{0}}) = 'aid';
Alors, j'ai plus de warning (mais c'est vraiment moins lisible voir illisible
Code : Sélectionner tout - Visualiser dans une fenêtre à part keys (%{$audio_dvd{0}}) = 0;)
Donc, on ne peut pas déclaré un mot en tant que clé d'un hash ou je fais quelque chose qui va pas ?
Jjeje007
Partager