use strict; use Storable qw(freeze thaw); my %to_be_frozen = (foo => 'bar'); my (%thawed,$frozen); eval { $frozen = freeze \%to_be_frozen; }; if($@) { die "error while freezing: $@" } print "it froze it\n"; eval { %thawed = %{ thaw $frozen }; }; if($@) { warn "there was a THAWING error\n" }