Bueno, se puede simplificar bastante, aparte de que estás usando más cosas de las que necesitas.
Solo requieres usar el
LWP::Simple y el
XML::Simple (muy simple, de verdad).
(no probado)
Using perl Syntax Highlighting
#!/usr/bin/perl
use LWP::Simple;
use XML::Simple;
my $xml = XMLin(get('http://localhost/prueba.asp?id=situ'));
use Data::Dumper;
print Dumper $xml;
print "id=>", $xml->{parametros}->{id}, "\n";
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Entonces, con una cadena como esta:
Using xml Syntax Highlighting
<resultado>
<parametros>
<id>123
</id>
<hostname>situ
</hostname>
<meminfo>1gb
</meminfo>
</parametros>
</resultado>Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
(no es la misma que has mostrado como ejemplo, ya que no era un xml válido). El resultado es:
Using text Syntax Highlighting
$VAR1 = {
'parametros' => {
'meminfo' => '1gb',
'hostname' => 'situ',
'id' => '123'
}
};
id=>123
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Las opciones a pasar a XMLin() dependerán un poco del aspecto del XML, pero si es algo sencillo, sale rápido.