Perl - Если строка содержит текст? - PullRequest
36 голосов
/ 10 августа 2011

Я хочу использовать curl для просмотра источника страницы, и если этот источник содержит слово, соответствующее строке, он выполнит печать. Как бы я сделал if $string contains?

В VB это было бы как.

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

Нечто подобное, но в Perl.

Ответы [ 2 ]

87 голосов
/ 10 августа 2011

Если вам просто нужно найти одну строку в другой, используйте функцию index (или rindex, если вы хотите начать сканирование с конца строки):

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

Чтобы найти в строке совпадение с шаблоном , используйте оператор поиска m//:

if ($string =~ m/pattern/) {
    print "'$string' matches the pattern\n";       
}
27 голосов
/ 10 августа 2011
if ($string =~ m/something/) {
   # Do work
}

Где something - регулярное выражение.

...