[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