До сих пор вы использовали операторы, проверяющие на соответствие образцу. Оказывается, Perl поддерживает два других регулярных выражения, которые модифицируют проверяемую строковую переменную. В записанной дальше инструкции Perl замещает часть строки, которая соответствует образцу, на заданную строку:
$str =~ s/pattern/replacement/;
Например, следующая инструкция заменит слово « colour » на « color »:
$str =~ s/\bcolour\b/color/;
Небольшая модификация позволяет заменить все слова « colour » на « color »:
$str =~ s/\bcolour\b/color/g;
В данном случае g в конце выражения указывает языку Perl на необходимость глобальной подстановки.
Используя суффикс i , можно задать выполнение поиска с учётом регистра.
В противоположность простой проверке на соответствие образцу, следующее выражение осуществляет также и замену:
$str =~ tr/SearchList/ReplacementList/;
Например, замена всех символов нижнего регистра теми же символами верхнею регистра может быть осуществлена таким образом:
$ str =~ tr / a - z / A - Z /; # меняет регистр, с нижнего на верхний
Проанализируйте сами следующий пример:
$letters = “abcde”;
print “$letters\n” # Выведет abcde
$letters =~ tr/a-z/A-Z/;
print “$letters\n” # В ыведет ABCDE