Perl : Comparaison chaine

Résolu
titexe2009 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
 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
A voir également:

3 réponses

blux Messages postés 27166 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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\./)
0
titexe2009 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
merci
0
lami20j
 
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\./) 
0