Was kann ich noch tun um den Error zu unterdrücken?
Falsche Frage. Du willst immer alle Fehler erzeugen (lassen), und dann selektiv behandeln oder ignorieren. Das Konzept nennt sich Exceptionhandling, siehe Kapitel 13 PBP und Try::Tiny.
use 5.010;
use DBI qw();
use Try::Tiny;
my $dbh = DBI->connect("dbi:SQLite:dbname=meinedb.db", "", "", {
RaiseError => 1,
AutoCommit => 1,
});
⋮
try {
$dbh->do(…);
} catch {
when /database is locked/ {} # ignore
default { die $_ } # rethrow
};