#!/usr/bin/perl

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
    localtime(time);
$year = 1900 + $year;
my $snapdir = sprintf "snap-%04d%02d%02d-%02d:%02d:%02d", 
    $year, $month, $mday, $hour, $min, $sec;
mkdir $snapdir, 0744 or die "$snapdir: $!";
$| = 1;

foreach $dbname (<*.db>) {
    $dbname =~ s/\.db$//;
    my $target = "$snapdir/$dbname.txt";
    print "Flattening db $dbname into $target\n";

    dbmopen(%db, $dbname, undef) || die "Couldn't dbmopen \"$dbname\"";
    open OUT, ">$target" or die "$target: $!";
    print OUT "# $dbname at ",localtime(time),"\n";

    my $key;
    foreach $key (keys %db) {
	my $val = $db{$key};
	chomp $val;
	print OUT "$key => $val\n";
    }

    dbmclose(%db);
    close OUT;
    sleep 1;
}