Perl : Comparaison chaine
Résolu
titexe2009
Messages postés
15
Statut
Membre
-
lami20j -
lami20j -
Bonjour,
une question un peu bête :);
je veux faire un if avec une condition ($dest doit être différente de toute chaine qui commence par ETL.)
voila ce que j'avais, mais ca ne marche pas :
if ((/Size\s*=\s*(\d+)/) && ($dest ne "ETL.*"))
Merci d'avance
cordialement,
titexe
une question un peu bête :);
je veux faire un if avec une condition ($dest doit être différente de toute chaine qui commence par ETL.)
voila ce que j'avais, mais ca ne marche pas :
if ((/Size\s*=\s*(\d+)/) && ($dest ne "ETL.*"))
Merci d'avance
cordialement,
titexe
Configuration: Windows XP Firefox 3.5.5
3 réponses
-
Salut,
($dest ne "ETL.*")) ressemble à un like SQL, donc n'est pas compris par Perl, dans ce cas précis tu testes si $dest est différent de ETL.*, l'astérisque n'est pas interprétée comme joker.
On peut tester si une chaine commence par quelque chose :
if ($dest =~ m/^ETL\./)
et on peut faire la même chose en inversant le résultat avec !
if !($dest =~ m/^ETL\./)
-
-
Salut,
et on peut faire la même chose en inversant le résultat avec !
if !($dest =~ m/^ETL\./)
On peut aussi utiliser l'opérateur !~
if ($dest !~ m/^ETL\./)
ou utiliser unless au lieu de if !(...)
unless ($dest =~ m/^ETL\./)