$dbh = DBI->connect("DBI:mysql:database=mytedsdb;host=localhost", "User", "Password", {AutoCommit => 1,'RaiseError' => 1}); $device_sth = $dbh->prepare('INSERT INTO Device VALUES (?,?,?,?,?)'); $device_sth>execute($devicetype,$deviceName,"test",trim($cmdHoH{$personality}->{'vendor'}),trim($version)); $dbh->disconnect; AND with $dbh->do($query) style instead, wrapped in an eval.