"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