Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

На сайте www.cronc.com/ru.shtml опубликована статья "Perl регулярные выражения: замена в ini-файлах для новой версии программы".


Уважаемые подписчики сайта Регулярные выражения Perl, статьи вебмастеру!

На сайте опубликована статья Замена в ini-файлах для новой версии программы. Одному программисту-шареварщику, использующему Perl для создания дистрибутива новой версии его программы, потребовалось во всех строках ini-файла, в которых нет подстроки aaa, заменить все фрагменты bbb на ccc. (Это общая постановка задачи.) Возможно ли это сделать одним оператором s///? Наша задача - показать, что невозможное на первый взгляд является возможным. Также решается обратная задача: во всех строках текста, в которых есть подстрока aaa, заменить все фрагменты bbb на ccc.

До недавнего времени у меня стоял ActiveState Perl 5.10.0 build 1003. Дня 4 назад я обнаружил странную вещь: конструкция (?=) вообще не работает, в какое место регулярного выражения её ни поставь! А должна работать всюду: ведь пустой фрагмент есть везде. Странно то, что в предыдущих версиях Perl она работала. После этого я скачал текущую версию Perl 5.12 и с удовлетворением обнаружил, что эта ошибка исправлена. Подробности читайте в конце статьи Ошибки в Perl и в Perl регулярных выражениях.

Ищите и заменяйте с нами!
Ведущий рассылки
Сергей


В избранное