[Moscow.pm] perl и "Очень Большие Файлы" (tm)
Alex Kapranoff
alex на kapranoff.ru
Вт Фев 19 22:40:23 PST 2008
Alex Shatlovsky wrote:
> Привет,
>
> Задумался над таким вопросом.
> Предположим, есть файл большого размера. Такой, что точно не влезет в
> доступную физическую память. А нам хочется сделать на содержимом файла
> s///s.
>
> Пока ничего лучше скользящего окна не придумывается, да и то не
> уверен, что это будет давать достаточно предсказуемый результат.
Ну хороший же метод, лишь бы окно было подходящего размера.
> Вообще, возможно ли решение такой задачи средствами Perl, как думаете?
Тут язык-то не имеет значения. Для более общего случая можно вместо регекспа сделать
автомат и потихонечку его выполнять, считывая файл по кусочку и запоминая смещения
начальных и конечных состояний. Вторым проходом сделать замену. Но преобразование
произвольного регекспа в автомат -- задача далеко не тривиальная :)
Подробная информация о списке рассылки Moscow-pm