On Tue, 2002-03-19 at 05:44, [EMAIL PROTECTED] wrote:
> heh - that was exactly half of what i was looking for - how to dump stuff! great :)
>
> mayby you can help me out with the second part too? :
>
> if i have a datastructure (a hash) dumped to a file using Data::Dumper,
> how can i recreate the datastructure/hash in another program?
>
> if i do something like this:
>
> open SOURCE, source.file;
> undef $/;
> eval SOURCE;
> die $@ if $@;
> close IN;
This should look something like (note the code below has not been tested
on animals, in fact the code below has not been tested at all <G>)
my $hashref;
{ #block to control scope
local ($/) = undef; #make this change local so as not to screw
#up anyone else
open SOURCE, 'source.file';
$_ = <SOURCE>;
s/^\$.*? /\$hashref/; #make sure the variable is named $hashref
die $@ if $@;
close SOURCE;
}
> then eval will turn the datastructure into a scalar? but i want it as a hash!
>
> or how does it work ?
>
> :o)
The scalar is a reference to a hash. You can access the keys like this:
print $hashref->{key1};
or you can say
my %hash = %$hashref;
Please note that this only does a shallow copy, but that should be
enough if you have no plans to use the data in $hashref (ie you are only
using it as a temporary storage location for the variable before shoving
it into a hash variable). You may also be interested in the Storable
and FreezeThaw modules.
>
> martin
>
> ps, love the missile address line!
--
Today is Pungenday the 5th day of Discord in the YOLD 3168
Kallisti!
Today is also Mojoday
Missile Address: 33:48:3.521N 84:23:34.786W
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]