The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package MakeTmpDb;
use strict;
use warnings;
use File::Temp qw(tempfile);
use File::Copy;
use DBI;

sub setup {
    my ($fh, $filename) = tempfile();
    copy('t/dbs/database.tpl',$filename) || die "Cannot copy database to tempfile $filename: $!";
    return $filename;
}

sub dbh {
    return DBI->connect(dsn());
}

sub dsn {
    my $filename = setup();
    return "dbi:SQLite:dbname=$filename";
}

1;