Amis scripteurs bonjour,
Aujourd'hui je me pose la question suivante "En perl, comment déclarer
automatiquement
des variables provenant d'une hashtable avec clé = valeur ?"
Je m'explique: j'ai un tableau de hashtable ex:
my @tableau = ( { "cle1"=>"valeur1", "cle2"=>"valeur2" } ,
{ "cle1"=>"valeur3", "cle2"=>"valeur4" } ,
{ "cle1"=>"valeur5", "cle2"=>"valeur6" }
);
je parcour ce tableau comme ceci:
my $nbelement = scalar( @tableau );
for( my $i ; $i < $nbelement ; $i++){
#et là j'accède à $tableau[$i]{'cle1'} ou $tableau[$i]{'cle2'}
#j'en profite pour déclarer:
my $cle1 = $tableau[$i]{'cle1'}; # c'est ces 2 déclarations
my $cle2 = $tableau[$i]{'cle2'}; # qui nous intéressent ici
#reste du traitement
}
J'aimerais que ces 2 déclarations (en réalité un bonne dizaine et qui en
plus ne cesse d'augmenter)
soient faites automatiquement, j'aimerais faire un truc du style:
my $nbelement = scalar( @tableau );
for( my $i ; $i < $nbelement ; $i++){
map( eval \$$_ = $tableau[$i]{'$_} , keys $tableau[$i] );
}
mais voilà je but.... qqun aurait une idée ?
Florent,