sub save { my($file, $data) = @_; local *FH; open FH, ">$file" or die "Can't open file $file: $!"; local($\, $,) = ("\n", "\t"); foreach my $key (sort keys %$data){ print FH $key, $data->{$key}; } } sub load { my($file) = @_; local *FH; my %hash; open FH, "<$file" or die "Can't open file $file: $!"; local $/ = "\n"; while() { chomp; my($key, $value) = split /\t/; $hash{$key} = $value; } return wantarray ? %hash : \%hash; }