"formail" en Perl
Alvaro Herrera
alvherre en alvh.no-ip.org
Vie Jul 31 14:21:43 CLT 2009
Marcos Ramirez escribió:
> On Tue, 2009-07-28 at 20:08 -0400, Alvaro Herrera wrote:
> > Total que descarté esta idea en favor de usar un módulo más moderno, que
> > es varios órdenes de magnitud más rápido; el código inicial se ve así:
>
> Interesante. Y por lo que lei en tu otro mail, te bastaria con descartar
> los mensajes cuyos Message-ID ya hayas procesado (cosa trivial si tienes
> los message-id en tu BD)
Sí, es bien sencillo hacer eso; hice unas pruebas con un buzón de 1500
mensajes. La primera importación se demora unos 20 segundos, y la
segunda (que descarta todos los mensajes) se demora como 3.
El único drama que tengo ahora son los buzones iniciales de 1997, porque
no tienen Message-Id en los mensajes ... pero eso es fácil de
solucionar, es cosa de hacer la importación sólo una vez :-)
> Con respecto a tu programa, creo que quedaria un poco mejor asi
>
> > for my $msgnum (0 .. $folder->messages - 1) {
> > my $message = $folder->message($msgnum);
>
> foreach my $message ($folder->messages) {
Cierto, queda bien así. Gracias por la idea.
Ahora lo que debo averiguar es cómo crear un mensaje como objeto en Perl
a partir de lo que tengo en la base de datos, para despliegue ...
sorpresivamente me encuentro con que Mail::Box no ofrece métodos para
hacer eso fácilmente :-)
--
Alvaro Herrera http://www.flickr.com/photos/alvherre/
"Un poeta es un mundo encerrado en un hombre" (Victor Hugo)
Más información sobre la lista de distribución Linux