El módulo forma parte de la distribución de Perl desde la versión
5.5
:
nereida:~> perl -MModule::CoreList -e \ 'print Module::CoreList->first_release("Data::Dumper")."\n"' 5.005
Si la versión de Perl con la que trabajamos es antigua, existe una solución
se puede
usar la función dumpValue que 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.
nereida:~/alu/0607/alu2644> perl -wde 0 main::(-e:1): 0 DB<1> use Data::Dumper DB<2> @a = (1, {A => ['AB', 'empty'], B => ['bB', 'empty']}) DB<3> p Dumper(\@a) $VAR1 = [ 1, { 'A' => [ 'AB', 'empty' ], 'B' => [ 'bB', 'empty' ] } ]; DB<4> $Data::Dumper::Indent = 0 DB<5> p Dumper(\@a) $VAR1 = [1,{'A' => ['AB','empty'],'B' => ['bB','empty']}]; DB<6> $Data::Dumper::Indent = 1 DB<8> p Dumper(\@a) $VAR1 = [ 1, { 'A' => [ 'AB', 'empty' ], 'B' => [ 'bB', 'empty' ] } ]; DB<9> $Data::Dumper::Indent = 3 DB<10> p Dumper(\@a) $VAR1 = [ #0 1, #1 { 'A' => [ #0 'AB', #1 'empty' ], 'B' => [ #0 'bB', #1 'empty' ] } ];