6 февраля 2009 г. 17:24 пользователь Kaltashkin Eugene
<[email protected]> написал:
> 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 mailing list
[email protected] | http://moscow.pm.org

Ответить