use DBI; my $dbh= DBI->connect("dbi:mysql:test", "", "", {RaiseError => 1, AutoCommit => 0}); my $addprod = $dbh->prepare("insert into products (pname, unit, qty, cost) values (?, ?, ?, ?)"); ... $addprod->execute('apple', 'kg', 1, 1.99); ... $dbh->commit();#commit for each unit of work, or rollback, for really simple cases, you can turn on AutoCommit ... $dbh->disconnect();