[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