February 2000
Intermediate to advanced
364 pages
11h 47m
English
The
Data::Dumper module takes a list of Perl variables
and writes their values out in the form of Perl
code, which will recreate the original values, no matter
how complex, when executed.
This module allows you to dump the state of a Perl program in a
readable form quickly and easily. It also allows you to restore the
program state by simply executing the dumped code using
eval()
or do().
The easiest way to describe what happens is to show you a quick example:
#!/usr/bin/perl -w # # ch02/marshal/datadumpertest: Creates some Perl variables and dumps them out. # Then, we reset the values of the variables and # eval the dumped ones ... use Data::Dumper; ### Customise Data::Dumper's output style ### Refer to Data::Dumper documentation for full details if ($ARGV[0] eq 'flat') { $Data::Dumper::Indent = 0; $Data::Dumper::Useqq = 1; } $Data::Dumper::Purity = 1; ### Create some Perl variables my $megalith = 'Stonehenge'; my $districts = [ 'Wiltshire', 'Orkney', 'Dorset' ]; ### Print them out print "Initial Values: \$megalith = " . $megalith . "\n" . " \$districts = [ ". join(", ", @$districts) . " ]\n\n"; ### Create a new Data::Dumper object from the database my $dumper = Data::Dumper->new( [ $megalith, $districts ], [ qw( megalith districts ) ] ); ### Dump the Perl values out into a variable my $dumpedValues = $dumper->Dump(); ### Show what Data::Dumper has made of the variables! print "Perl code produced by Data::Dumper:\n"; print $dumpedValues . "\n"; ### ...Read now
Unlock full access