[tableau] variable dynamique
Bonjour,
J'ai une chaine de caractères :
Je récupère chaque champs par un split :
Code:
1 2
|
@champ = split(/ | /,$_); |
Le tableau @champ contient 4 valeurs (0 à 3).
Je souhaiterai définir une nouvelle variable se nommant $champ[1] et contenant $champ[2] et $champ[3].
Comment faire ?
Merci.
Re: [tableau] variable dynamique
Citation:
Envoyé par Longrais
Je souhaiterai définir une nouvelle variable se nommant $champ[1] et contenant $champ[2] et $champ[3].
Ok, tu veux définir une variable dont le nom est contenu dans $champ[1] et la valeur dans $champ[2] et $champ[3] ...
Les variables dynamiques ne sont, en général, pas une bonne idée. D'autant qu'elles empêchent l'utilisation du pragma 'strict' qui est souvent d'un grand secours.
Dans ce cas, l'usage de tables de hachages est, par contre, tout à fait pertinent :
Code:
1 2
| my %variables;
$variables{$champ[1]} = $champ[2].$champ[3]; |
... par exemple ...
Ou, si tu veux mettre un tableau dans les $variables{*} :
Code:
1 2 3
| my %variables;
$variables{$champ[1]} = [ $champ[2], $champ[3] ];
print $variables{$champ[1]}->[0]; |