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

Walery Studennikov despairr на gmail.com
Пт Фев 6 04:06:39 PST 2009


Hi.

Спасибо, я вижу, что это работает.

Но есть 2 нюанса:
а) Сообщение имеем в виде строки, а не в виде файлового потока
б) @body надо будет потом склеивать ;)

В любом случае, парсер сообщений уже оптимизирован.
А с парсером mbox-ов (там где как раз имеем поток)
этот трюк, как я понимаю, не прокатит, поскольку разделителем
будет уже не фиксированная строка, а regexp.

6 февраля 2009 г. 15:28 пользователь Dennis S.Davidoff
<davydov на nexo.ru> написал:
> Быстрее бы попробовали, чем спрашивать ;-) Например:
>
> mail:~/tmp/src# cat t.pl
> #!/usr/bin/perl
>
> local $/ = "";
> my $header = <STDIN>;
> my @body = <STDIN>;
>
> print << "_EOF_";
> --- Header ---
> $header
> --- Header (end) ---
> --- Body ---
> @body
> --- Body (end) ---
> _EOF_
>
> Теперь любое письмо сырое отдайте скрипту так:
> mail:~/tmp/src# cat mail | ./t.pl
>
> Увидите - оно разделиться правильно ;-) Кстати, использование $/ вроде в
> Cookbook описано, не? Метод стар как мир. Я просто эти оочень давно
> пользовался - очень быстро работает.

-- 
Walery Studennikov
http://www.reg.ru/


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