[Perl] foreach - array

Sergi - sergixxxx30 en yahoo.es
Jue Nov 17 09:31:00 CST 2005


Un saludo ¡¡¡
Trate de hacer un script que usa el siguiente fichero
xml :

<config>
  <objetivos>
    <host>192.168.0.1</host>
    <host>192.168.0.2</host>
    <host>192.168.0.3</host>
  </objetivos>
</config>

el caso es que a veces el fichero solo tiene una
etiqueta host
por ejemplo

<config>
  <objetivos>
    <host>192.168.0.1</host>
  </objetivos>
</config>


quiero que el script compruebe si son uno o varios los
host (hasta aquí he llegado) y posteriormente si son
varios host imprimir el valor de esas etiquetas para
posteriormente guardarlas en un fichero, aquí es donde
me quedo bloqueado pues no se como referenciar al
array que se genera ...
solo con imprimir las etiquetas host me sobra, el
pasarlo a un fichero se como hacerlo .
Agradecería mucho su ayuda.
Pego lo que he echo hasta ahora:

====================================================
use XML::Simple ;

if ($#ARGV !=0 ) {
        print "uso: ./$0 [XML] \n";
        print "[XML] Fichero de resultados del
nmap.\n";
        exit 1;
}
# tomo el xml pasado como parametro y lo paso al XMLin
my $filename = $ARGV[0];
my $config = XMLin($filename);
# si hay mas de un host es un array
if ($config->{objetivos}->{host} =~ /ARRAY/)
{
     ¡¡ AQUI ES DONDE QUIERO IMPRIMIR EL TOTAL 
        DE ETIQUETAS <host> EN UN FOREACH  ¡¡¡
}
else
 {
  print "un solo host\n";
 }
===========================================================

SERGIO DESDE VALENCIA - ESPAÑA




		
______________________________________________ 
Renovamos el Correo Yahoo! 
Nuevos servicios, más seguridad 
http://correo.yahoo.es


Más información sobre la lista de distribución Perl