LWP sólo sirve para hacer peticiones HTTP.
Con Mojo, puedo bajar la página y extraer la información, en un solo paso. Ejemplo extraído del código del medallero:
Using perl Syntax Highlighting
my $ua = Mojo::UserAgent->new(
name => 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:14.0) Gecko/20100101 Firefox/14.0.1',
request_timeout => 5,
);
my $div = $ua->get(
$MEDALLERO_OFICIAL,
{
'Accept' => 'text/html',
'Referer' => 'http://www.london2012.com/medals/',
'Accept-Encoding' => 'none',
'DNT' => 1,
'Accept-Language' => 'es,es-es;q=0.8,en;q=0.5,en-us;q=0.3',
}
)
->res # de la respuesta
->dom # generamos el DOM de la página
->find("div[id=lgc-main]") # buscamos esa marca
->[0]; # y la extraemos
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Vemos que generamos un UserAgent, del mismo modo que lo haríamos con LWP::UserAgent. Pero, a continuación, pedimos la página, obtenemos la respuesta, pasamos la estructura de la página al modelo de objetos, buscamos la marca que queremos usando notación parecida a XPath o los selectores CSS3, y extraemos la parte de la página que nos interesa.
Edito: usar las expresiones regulares para sacar la información
pasó de moda.
Re-edito: otro ejemplo de hoy en mismo, con Mojo.