my $driver = "SQLite"; my $database = "some.db"; my $dsn = "DBI:$driver:dbname=$database"; my $userid = ""; my $password = ""; my $dbh = DBI->connect($dsn, $userid, $password, { RaiseError => 1, sqlite_use_exclusive_transaction => 1 }) or die $DBI::errstr; #some drop statements my $dropstmt = qq(DROP TABLE IF EXISTS $db_name); my $rv = $dbh->do($dropstmt); #some create statements my $createstmt = (something); $rv = $dbh->do($createstmt); #some insert statements $insertstmt=qq(some insert statement); $rvw = $dbh->do($insertstmt) or die $DBI::errstr; #some update statments my $sth = $dbh->prepare(some updatestatement); $sth->execute() or die $DBI::errstr;