w( proc1 var );
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'.
tr/таблица1/таблица2/cds
y/таблица1/таблица2/cds
Замена всех символов из "таблица1" на соответсвующий символ
из "таблица2". Результат - количество замен или стираний. Без оператора
=~ или != операция выполняется с строкой $_. Для совместимости с программой
sed вместо tr можно писать 'y'.
Опции:
c - дополнение "таблица1"
d - стереть найденные но не замененные символы.
s - "зжать" повторяющиеся замененные символы.
Если указана опция /d таблица2 всегда интерпретируется как положено.
Другими словами если таблица2 короче чем таблица1 то символ из таблицы1
интерпретируется всегда. Если таблица2 - null то все символы строки
остаются не изменненные. Это удобно для подсчета количества сиволов
в строке определенного класса или для сжатия повторяющихся символов
на
|