# dans le cas d'un test sur les lignes d'un fichier
while(<>){
$_ =~ /riboso/ ? $indice = 'oui' : $indice = 'non';
if ($indice eq 'oui')
...
else
...
}
A ce niveau, que la chaîne 'riboso' soit présente ou pas dans les
lignes, $indice n'est pas affectée.
En revanche :
$_ =~ /riboso/ ? print "OK\n" : print "non\n";
fonctionne parfaitement.
Pouvez-vous me dire pourquoi dans le cas de l'opérateur ternaire
$indice n'est pas affectée ?
A ce niveau, que la chaîne 'riboso' soit présente ou pas dans les lignes, $indice n'est pas affectée. En revanche : $_ =~ /riboso/ ? print "OKn" : print "nonn"; fonctionne parfaitement.
Mais c'est aussi sale.
Pouvez-vous me dire pourquoi dans le cas de l'opérateur ternaire $indice n'est pas affectée ?
Les priorités ne sont pas les mêmes.
Évite de faire des affectations à l'interieur de l'opérateur. Il n'a pas été conçu pour ça.
A ce niveau, que la chaîne 'riboso' soit présente ou pas dans les
lignes, $indice n'est pas affectée.
En revanche :
$_ =~ /riboso/ ? print "OKn" : print "nonn";
fonctionne parfaitement.
Mais c'est aussi sale.
Pouvez-vous me dire pourquoi dans le cas de l'opérateur ternaire
$indice n'est pas affectée ?
Les priorités ne sont pas les mêmes.
Évite de faire des affectations à l'interieur de l'opérateur.
Il n'a pas été conçu pour ça.
A ce niveau, que la chaîne 'riboso' soit présente ou pas dans les lignes, $indice n'est pas affectée. En revanche : $_ =~ /riboso/ ? print "OKn" : print "nonn"; fonctionne parfaitement.
Mais c'est aussi sale.
Pouvez-vous me dire pourquoi dans le cas de l'opérateur ternaire $indice n'est pas affectée ?
Les priorités ne sont pas les mêmes.
Évite de faire des affectations à l'interieur de l'opérateur. Il n'a pas été conçu pour ça.
# dans le cas d'un test sur les lignes d'un fichier while(<>){ $_ =~ /riboso/ ? $indice = 'oui' : $indice = 'non'; if ($indice eq 'oui') ... else ... }
A ce niveau, que la chaîne 'riboso' soit présente ou pas dans les lignes, $indice n'est pas affectée. En revanche : $_ =~ /riboso/ ? print "OKn" : print "nonn"; fonctionne parfaitement.
Pouvez-vous me dire pourquoi dans le cas de l'opérateur ternaire $indice n'est pas affectée ?
# dans le cas d'un test sur les lignes d'un fichier
while(<>){
$_ =~ /riboso/ ? $indice = 'oui' : $indice = 'non';
if ($indice eq 'oui')
...
else
...
}
A ce niveau, que la chaîne 'riboso' soit présente ou pas dans les
lignes, $indice n'est pas affectée.
En revanche :
$_ =~ /riboso/ ? print "OKn" : print "nonn";
fonctionne parfaitement.
Pouvez-vous me dire pourquoi dans le cas de l'opérateur ternaire
$indice n'est pas affectée ?
# dans le cas d'un test sur les lignes d'un fichier while(<>){ $_ =~ /riboso/ ? $indice = 'oui' : $indice = 'non'; if ($indice eq 'oui') ... else ... }
A ce niveau, que la chaîne 'riboso' soit présente ou pas dans les lignes, $indice n'est pas affectée. En revanche : $_ =~ /riboso/ ? print "OKn" : print "nonn"; fonctionne parfaitement.
Pouvez-vous me dire pourquoi dans le cas de l'opérateur ternaire $indice n'est pas affectée ?
En fait non car dans ce que je voudrais faire, $indice est une variable globale affectée en fonction du contenu des lignes du fichier lu par while(<>).
En fait non car dans ce que je voudrais faire, $indice est une variable
globale affectée en fonction du contenu des lignes du fichier lu par
while(<>).
En fait non car dans ce que je voudrais faire, $indice est une variable globale affectée en fonction du contenu des lignes du fichier lu par while(<>).