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" } #### eval { my $foo = thaw 'asdasdasdasd'; }; if($@) { warn "there was a THAWING error\n" } #### $ ./foo.pl there was a THAWING error error while freezing: Bad hash at blib/lib/Storable.pm (autosplit into blib/lib/auto/Storable/_freeze.al) line 261, at ./foo.pl line 19