Forum Webscript.Ru

Программирование => Perl => Тема начата: Serg31416 от 16 Октября 2010, 11:19:57

Название: Ошибка в ActiveState Perl 5.10.0
Отправлено: Serg31416 от 16 Октября 2010, 11:19:57
Привет.

 Вчера в ActiveState Perl 5.10.0 build 1003 для Win 32 нашёл ошибку в регулярных выражениях: конструкции (?=) и (?<=) вообще не работают! Нигде не находится пустой фрагмент текста при заглядывании впёрёд и назад! Напр., оператор
\'aaa\' =~ /a(?=)aa/;
не находит соответствия!
Только что скачал ActiveState Perl 5.12, проверил и увидел, что эта ошибка исправлена. Ведь при заглядывании вперёд и назад пустой фрагмент должен находиться везде, даже перед \\A и после \\z в пустой строке.
Интересно, как с этой ошибкой обстоит дело в других платформах? Откуда эта ошибка могла взяться, ведь в предыдущих версиях её не было. ActiveState по идее просто портирует этот модуль работы с регекспами под Виндовс. Неужели, эта ошибка возникла в ядре Перла?