use Data::Dumper; my %hash = ( foo => 1, bar => 2, baz => 3 ); open my $out, '>', 'save' or die $!; print $out Dumper(\%hash); close $out; open my $in, 'save' or die $!; my $h = eval do { local $/; <$in> }; close $in; print "$_ => $h->{$_}\n" for keys %$h;