# ----- private subs ----- sub _write { # still need to deal with race conditions my $file = $_[0]->{FILE} ; open (FH, "> $file") or die "Can't open $file for FileHash _write: $!"; print FH Dumper($_[0]->{DATA}); close FH or die "Can't close $file for FileHash _write: $!"; } sub _read { # still need to deal with race conditions my $file = shift; return undef unless -f $file; my $ret; unless ($ret = do $file) { warn "couldn't parse $file: $@" if $@; warn "couldn't do $file: $!" unless defined $ret; } return $ret; }