Другие ограничители

По аналогии с конструкциями m// и qw// для s/// также можно выбрать другой ограничитель. Но в операторе замены используются не два, а три ограничителя, поэтому ситуация слегка изменяется. Для обычных (непарных) символов, не имеющих «левой» и «правой» разновидности, просто используйте три одинаковых символа, как мы поступали с /. В следующей команде в качестве ограничителя выбран символ решетки (#):

s#^https://#http://#;

Для парных символов необходимо использовать две пары: в одну пару заключается шаблон, а в другую – строка замены. В этом случае строка и шаблон даже могут заключаться в разные ограничители. Более того, ограничители строки даже могут быть непарными! Следующие команды делают одно и то же:

s{fred}{barney};
s[fred](barney);
s#barney#;

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Perl на эту тему:
m// в списочном контексте
Глобальная замена (/g)
Другие возможности регулярных выражений
Замена с использованием оператора s///
Минимальные квантификаторы