next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Ejemplo: El Producto de Sup: Referencias Ant: Creación implícita y asignación Err: Si hallas una errata ...


Impresión de estructuras anidadas

Para imprimir una estructura de datos compleja existen varias soluciones. La oficial es usar el módulo Data::Dumper. Si no esta instalado, existe una solución ''no oficial'' pero que es muy efectiva: usar la función dumpValue, la cual se encuentra en el fichero dumpvar.pl que se distribuye con la librería estandar. Sigue un ejemplo:
$ cat mydumpvalue.pl
#!/usr/bin/perl -w

use strict;

require 'dumpvar.pl';

my @a = (1, {A => ['AB', 'empty'], B => ['bB', 'empty']});

dumpValue(\@a); # recibe su argumento como una referencia
$ ./mydumpvalue.pl
0  1
1  HASH(0x8106af0)
   'A' => ARRAY(0x8103068)
      0  'AB'
      1  'empty'
   'B' => ARRAY(0x8106b68)
      0  'bB'
      1  'empty'

El módulo Data::Dumper convierte la lista de escalares pasada como parámetro a su función Dumper en una cadena conteniendo código Perl que describe la estructura de datos.

$ cat datadumper.pl
#!/usr/bin/perl -w

use strict;
use Data::Dumper;

my @a = (1, {A => ['AB', 'empty'], B => ['bB', 'empty']});

my $m = Dumper(\@a);

print $m;


$ ./datadumper.pl
$VAR1 = [
          1,
          {
            'A' => [
                     'AB',
                     'empty'
                   ],
            'B' => [
                     'bB',
                     'empty'
                   ]
          }
        ];


next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Ejemplo: El Producto de Sup: Referencias Ant: Creación implícita y asignación Err: Si hallas una errata ...
Casiano Rodríguez León
2006-02-21