web-dev-qa-db-fra.com

Perl - Si la chaîne contient du texte?

Je souhaite utiliser curl pour afficher le code source d'une page. Si ce code source contient un mot correspondant à la chaîne, il exécutera une impression. Comment pourrais-je faire un if $string contains?

Dans VB ce serait comme.

dim string1 as string = "1"
If string1.contains("1") Then
Code here...
End If

Quelque chose de semblable à cela, mais en Perl.

37
Hellos

Si vous avez juste besoin de chercher une chaîne dans une autre, utilisez la fonction index (ou rindex si vous voulez commencer à analyser à partir de la fin de la chaîne):

if (index($string, $substring) != -1) {
   print "'$string' contains '$substring'\n";
}

Pour rechercher une correspondance pour motif dans la chaîne, utilisez l'opérateur de correspondance m// :

if ($string =~ m/pattern/) {
    print "'$string' matches the pattern\n";       
}
90
Eugene Yarmash
if ($string =~ m/something/) {
   # Do work
}

something est une expression régulière.

28
Sean Bright