[Moscow.pm] Быстрый парсинг email-сообщений
Walery Studennikov
despairr на gmail.com
Пт Фев 6 05:31:45 PST 2009
6 февраля 2009 г. 17:24 пользователь Kaltashkin Eugene
<zhecka на gmail.com> написал:
> Walery Studennikov пишет:
>>
>> В общем, сплиттер header / body оптимизировали, это хорошо ;)
>>
>> Теперь наибольшим тормозом стал парсер mbox-ов.
>> Сейчас используется такая конструкция:
>>
>> while ($_ = <$fh>) {
>> if (m/^(From .* \w\w\w \w\w\w (\d|\s)\d \d\d:\d\d:\d\d \d+)\n$/) {
>> _do_process_message( \$out, %param ) if $out;
>> $out = '';
>> }
>> else {
>> $out .= $_;
>> }
>> }
>>
>> Можно ли придумать что-то быстрее для ПОТОКОВОГО парсинга?
>
> поменять например mbox в maildir.
;)
> По поводу From
> всё проще.
Вы пишете код для парсинга хидера. С этим проблем нет.
Регексп /From .* \w\w\w \w\w\w (\d|\s)\d \d\d:\d\d:\d\d \d+/ служит
для разделения
сообщений внутри mbox!
--
Walery Studennikov
http://www.reg.ru/
Подробная информация о списке рассылки Moscow-pm