[Perl] Re: saludos y xml::simple

Antonio Galindo Castro funkymonster en gmail.com
Mar Nov 8 15:24:02 CST 2005


> use XML::Simple;
>
> my $fichero = <>;
> my $config = XMLin ($fichero);
>
> print $fichero->{unadelasetiquetas};

Hola, de entrada no entiendo por que quieres hacer las cosas desde dos
programas distintos, pero bueno...

Prueba así:
xml.pl
---------------------------------
#!/usr/local/bin/perl
use strict;
use warnings;

use XML::Simple;

my $arch = shift;
my $ref  = XMLin ($arch);

foreach my $etiqueta (keys %{$ref}) {
  print "$etiqueta $ref->{$etiqueta}\n";
}
-------------------------------------------

Como puedes ver que lo que se utiliza para hacer el print es la
referencia a la hash con los datos de archivo xml ($ref) y no el
argumento  ($arch) donde debería estar el nombre del archivo.
Que tan compleja va a resultar ser tu estructura, bueno pues eso de
depende directamente del archivo que le pases.   Entonces de una vez
conoces la estructura de tus archivos y llamas a las partes que
nesecitas, o lo parseas para buscar lo que quieres.  Lee la
documentación: http://search.cpan.org/~grantm/XML-Simple-2.14/lib/XML/Simple.pm

Para probarlo use este sencillo archivo xml:
prueba.xml
------------------------------------
<opt>
      <username>testuser</username>
      <password>frodo</password>
</opt>
-------------------------------------

Y lo corrí así:
# ./xml.pl prueba.xml

Bueno, espero esto te sea útil.

Toño "FunkyM0nk3y"



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