open DUMP, ">$dump_path" or die "Couldn't open file to dump: $!"; print DUMP Data::Dumper->Dump([\%coords], ['coords']); close DUMP; # close the city dump #### open LOAD, "<$dump_path" or die "Couldn't open file to load: $!"; local $/; $/ = undef; my $struct = ; close LOAD; eval { $struct }; # then access %coords as usual