Most DBI tutorials will show you how to use
execute(). Something like this:
my $sth = $dbh->prepare( 'INSERT INTO table (foo, bar) VALUES (?, ?)' ) or die ...; $sth->execute( 1, 2 ) or die ...; $sth->finish;
Most of us write DBI this way when we don't use DBIx::Class or some other abstraction layer (or we use
$dbh->do(), but it won't end up changing my point). For most databases, the above is fine.
On SQLite, you can lose data that otherwise would have gone in fine.