Forum Webscript.Ru

Программирование => Регулярные выражения => Тема начата: Serg31416 от 06 Июля 2008, 10:23:29

Название: Написать оператор s///
Отправлено: Serg31416 от 06 Июля 2008, 10:23:29
Привет.

 Один программист поставил такую задачку, которая встречается при обработке ini-файлов в связи с изменением версии программы.
Написать оператор подстановки s///, который в тексте во всех строках, где не встречается aaa, заменит все подстроки bbb на ccc. В общем случае эти образцы подстрок находятся в переменных $a, $b и $c.

Например, имеем фрагмент программы:

$_=<bbb aaa bbb
bbb aa bbb bbb
aaa bbb bbb
aa bbb bbb
EOD

s/.../.../;
print $_;

 При выводе должно получиться

bbb aaa bbb
ccc aa ccc ccc
aaa bbb bbb
aa ccc ccc

 Аналогично, написать оператор s///, который заменит все bbb на ccc во всех строках, в которых встречается aaa.