<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#feffff">
<p>Hello,</p>
<p>A tout hasard, tu ne fais pas une lecture de trop dans la boucle
?</p>
<p>0..scalar(@tab) -> 0..scalar(@tab<b>)-1</b></p>
<p>Sinon, pas bien regardé en détail :-)</p>
<p>HTH,</p>
<p>Stéphane<br>
</p>
<div class="moz-cite-prefix">Le 03/07/2024 à 09:47, Patrice
Karatchentzeff a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:CALbP57v0twhWdh6frY-=P_LRvmnYW_rtaaKa8=4taEAXXsc1rg@mail.gmail.com">
<pre class="moz-quote-pre" wrap="">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
</pre>
</blockquote>
<pre class="moz-signature" cols="72">--
Assistant Professor, USBB, UMR 6286 CNRS, Bioinformatique Structurale
UFR Sciences et Techniques, 2, rue de la Houssinière, Bât. 25, 44322 Nantes cedex 03, France
Tél : +33 251 125 636 / Fax : +33 251 125 632
<a class="moz-txt-link-freetext" href="http://www.us2b.univ-nantes.fr/">http://www.us2b.univ-nantes.fr/</a> - <a class="moz-txt-link-freetext" href="http://www.steletch.org">http://www.steletch.org</a></pre>
</body>
</html>