July 2000
Intermediate to advanced
1104 pages
35h 1m
English
If you want to save your data structures for use by
another program later, there are many ways to do it. The easiest way
is to use Perl's Data::Dumper module, which turns a
(possibly self-referential) data structure into a string that can be
saved externally and later reconstituted with eval
or do.
use Data::Dumper; $Data::Dumper::Purity = 1; # since %TV is self-referential open (FILE, "> tvinfo.perldata") or die "can't open tvinfo: $!"; print FILE Data::Dumper->Dump([\%TV], ['*TV']); close FILE or die "can't close tvinfo: $!";
A separate program (or the same program) can then read in the file later:
open (FILE, "< tvinfo.perldata") or die "can't open tvinfo: $!";
undef $/; # read in file all at once
eval <FILE>; # recreate %TV
die "can't recreate tv data from tvinfo.perldata: $@" if $@;
close FILE or die "can't close tvinfo: $!";
print $TV{simpsons}{members}[2]{age};or simply:
do "tvinfo.perldata" or die "can't recreate tvinfo: $! $@";
print $TV{simpsons}{members}[2]{age};Many other solutions are available, with storage formats ranging from packed binary (very fast) to XML (very interoperable). Check out a CPAN mirror near you today!