Операции сопоставления с образцом, используемые многими
утилитами обработки текста в Unix, являются мощным средством
и в языке Perl. Эти операции с регулярными выражениями включают
поиск (m//), подстановку (s///) и замену символов (tr///)
в строке. По умолчанию они работают со строкой, содержащейся
в системной переменной $_. Операции =~ и \ ~ связывают выполнение
сопоставления с образцом над строкой, содержащейся в переменной,
представленной левым операндом этих операций:
$_ = "It's very interesting!";
s/very/not/; # Переменная $_ будет содержать строку
# "It's not interesting!" $_ = "It's very interesting!";
s/very/not/; # Переменная $_ будет содержать строку
$m = "my string";
$m =~ s/my/our/; i Переменная $m будет содержать строку
tt "our string"
Возвращаемым значением операции =~ является Истина, если при выполнении соответствующей ей операции сопоставления с образцом в строке была найдена последовательность символов, определяемая регулярным выражением, и Ложь в противном случае. Операция ! ~ является логическим дополнением к операции =~. Следующие два выражения полностью эквивалентны:
$m !~ m/my/our/; not $m =~ m/my/our/;