... , ; unit test script -. , , , , ( ).
__DATA__, Data::Dumper. :
use Data::Dumper;
$Data::Dumper::Terse = 1;
$Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
print $fh Dumper(\%HASH);
script DATA mtime (mtime , script).
use vars qw(%HASH $FILEPOS $MTIME);
{
$FILEPOS = tell(DATA);
$MTIME = (stat(DATA))[9];
local $/;
my $data = <DATA>;
%HASH = %{eval $data};
}
, __DATA__, __FILE__ $FILEPOS, . .
open(my $fh, '>>', __FILE__) or die $!;
seek($fh, $FILEPOS, 0) or die $!;
die "File changed" if ((stat($fh))[9] != $MTIME);
truncate($fh, $FILEPOS) or die $!;
print $fh Dumper(\%HASH);
, !
, Storable; . , , , diff , , Dumper.