[Moscow.pm] Быстрый парсинг email-сообщений

Костя Тен Kostya на yandex.ru
Пт Фев 6 02:50:25 PST 2009


А Mime уже не катит ?

> Hi.
> 
> Сейчас дописываем свой модуль для работы email-сообщениями
> (парсинг сообщений, сопоставление с шаблонами, поиск нужных сообщений в mbox-ах,
> выдирание из них нужной информации и т.д. и т.п.).
> Основные требования:
> - модуль должен быть ультратёгким, без лишних зависимостей,
> - ультрабыстрым (т.к. будет перемалывать большие массивы данных).
> 
> Когда модуль устаканиться, выложим на CPAN.
> 
> Так вот, одна из загвоздок, с которой столкнулись -- это
> отделение header от body в rfc822-сообщениях.
> 
> Т.е. нужно некое преобразование, которое
> на входе получает целое сообщение ($message),
> на выходе -- разрезанное: $header, $body.
> 
> Сейчас используется:
> @$self{ qw/raw_header body/ } = ($body =~ m/(.+?)(?:\r?\n){2}(.+)/som);
> До этого использовалась комбинация index / substr.
> Однако, скорость преобразования при этом недостаточна.
> 
> Вопрос: как это можно сделать наиболее быстро на Perl, не прибегая к XS.
> 
> Ваши варианты? ;)
> -- 
> Walery Studennikov
> http://www.reg.ru/
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org


-- 
Костя Тен


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