[Perl] Autoconstruire du code perl dans un switch
Patrice Karatchentzeff
patrice.karatchentzeff at gmail.com
Mer 3 Juil 09:47:26 CEST 2024
Salut,
J'ai un code qui fonctionne bien :
while (1) {
$choice = randomize(3);
switch($choice) {
case 1 {($search, $target) = ("truc1", "truc2") };
case 2 {($search, $target) = ("truc3", "truc4")} ;
case 3 {($search, $target) = ("truc5", "truc6")};
};
Pour automatiser mon code, j'extrait les « trucs » désormais d'un
fichier et je les place dans un tableau de tableau. La longueur du
tableau peut varier selon le nombre de lignes de « trucs ». Je
voudrais auto-générer le code de mon switch :
while (1) {
$choice = randomize(scalar(@tab);
switch($choice) {
for my $line (0..scalar(@tab) {
eval case, $line+1, "{(\$search, \$target) =
(\"$tab[$line][0]\", \"$tab[$line][1]\") }";
}
};
J'ai alors un Bad case statement (invalid case value?). Donc le
$line+1 ne passe pas (si je fais un print à la place du eval, le code
perl est correct.
Qu'est-ce que je rate ?
Merci
PK
--
|\ _,,,---,,_ Patrice KARATCHENTZEFF
ZZZzz /,`.-'`' -. ;-;;,_ mailto:patrice.karatchentzeff at gmail.com
|,4- ) )-,_. ,\ ( `'-'
'---''(_/--' `-'\_)
Plus d'informations sur la liste de diffusion Perl