Создание серверных приложений на языке PERL



Оператор S///



Оператор S///

s/шаблон/подстрока/egimosx;

Поиск по шаблону и в случае успеха замена подстрокой. Возвращает количество произведенных подстановок, иначе false (0). Если строка в которой ведется поиск не указана (операторы =~ или != ), то используется переменная $_ . Если в качестве разделителя '/' использовать одинарную кавычку ('), то интерполяции не будет, иначе можно применять переменные в шаблоне или подстроке. Опции:

e - Рассматривать правую часть как выражение.
g - Глобальный поиск.
i - Без различия регистра букв
m - многострочная переменная
o - компилировать шаблон один раз
s - однострочная переменная
x - расширенное регулярное выражение

Разделитель '/' можно заменить на любой алфавитно-цифровой символ кроме пробела.

$var = "12345"; # исходная строка $var =~ s/1/0/; # Заменить '1' на '0'. Результат 02345 $var =~ s(5)(.); # Заменить '5' на '.' Результат 0234.

Здесь в качестве разделителя применены скобки, поэтому подстрока взята в две скобки.

$var =~ s/\d*/каламбур/; #Заменить все цифры. Результат 'каламбур.' $var =~ s/а/о/g; # Заменить все 'а' на 'о'. Результат 'коломбур.' $var = "12 34"; # Новое значение $var =~ s/(\d\d) (\d\d)/$2 $1/; # Поменять местами числа. Результат '34 12'.

Содержание Назад Вперед