OVH Cloud OVH Cloud

Question sur la condition If

4 réponses
Avatar
Crayos
Bonjour =E0 tous,

Comment faire une condition ( si n'est pas )

if ($toto1 eq "12345") =3D si $toto1 est =E9gal =E0 12345

Moi je cherche =E0 faire:
si $toto1 n'est pas 12345

Merci pour votre aide
Bon week-end =E0 tous
Cordialement
G=E9rald

4 réponses

Avatar
MaXX
Crayos wrote:
Comment faire une condition ( si n'est pas )

if ($toto1 eq "12345") = si $toto1 est égal à 12345
Moi je cherche à faire: si $toto1 n'est pas 12345
if ($toto1 ne "12345")

si mes souvenirs sont bons...

Merci pour votre aide
Bon week-end à tous
Cordialement
Gérald
aussi,


--
MaXX

Avatar
Crayos
Merci beaucoup c'est extra.

Bon week-end
Cordialement
Gérald
Avatar
nicolas
Comment faire une condition ( si n'est pas )

if ($toto1 eq "12345") = si $toto1 est égal à 12345
Moi je cherche à faire: si $toto1 n'est pas 12345
if ($toto1 ne "12345")

si mes souvenirs sont bons...


Il y a trois manières, en fonction du type de variable évaluée:

$x ne CHAINE
$x != NOMBRE (sans quotes)
$x !~ MOTIF

Même si perl s'en sort très bien et fait les conversions lui-même, je crois que
c'est une bonne idée de tester les variables avec les opérateurs spéc ifiques à
leur type. En l'occurrence, je pense que c'est l'opérateur != qui convi ent:

if ($totol != 12345) {
...
}


--
nicolas //


Avatar
Jérémy JUST
On 9 Sep 2005 10:06:43 -0700
"Crayos" wrote:

Comment faire une condition ( si n'est pas )

if ($toto1 eq "12345") = si $toto1 est égal à 12345

Moi je cherche à faire:
si $toto1 n'est pas 12345


Très intuitivement, tu aurais pu écrire:

if (not ( $toto1 eq "12345" ))

Une autre solution est:

unless ($toto1 eq "12345")


Sinon, comme dit dans d'autres posts, l'opérateur « ne » (not equal)
est la négation de « eq » (equal).

Comme tu sembles l'avoir remarqué (puisque tu as mis des guillemets),
ces opérateurs traitent des chaînes de caractères.


--
Jérémy JUST