[Moscow.pm] perl и "Очень Большие Файлы" (tm)

Alex Kapranoff alex на kapranoff.ru
Вт Фев 19 22:40:23 PST 2008


Alex Shatlovsky wrote:
> Привет,
> 
> Задумался над таким вопросом.
> Предположим, есть файл большого размера. Такой, что точно не влезет в
> доступную физическую память. А нам хочется сделать на содержимом файла
> s///s.
> 
> Пока ничего лучше скользящего окна не придумывается, да и то не
> уверен, что это будет давать достаточно предсказуемый результат.

Ну хороший же метод, лишь бы окно было подходящего размера.

> Вообще, возможно ли решение такой задачи средствами Perl, как думаете?

Тут язык-то не имеет значения. Для более общего случая можно вместо регекспа сделать 
автомат и потихонечку его выполнять, считывая файл по кусочку и запоминая смещения 
начальных и конечных состояний. Вторым проходом сделать замену. Но преобразование 
произвольного регекспа в автомат -- задача далеко не тривиальная :)


Подробная информация о списке рассылки Moscow-pm