DBI Fehlermeldung unterdrücken

18/12/2010 - 14:51 von Wolf | Report spam
Hallo,

ich arbeite an einem Projekt mit mod_perl und mySQL Datenbanken.

Scripts, die SQL Anfragen machen, verbinden sich über
my $dbh = DBI->connect( 'DBI:mysql:host=myHost', $user, $passwort,
{ PrintError => 1, RaiseError => 0, AutoCommit => 1 }
);
Das ist in den meisten Fàllen auch völlig in Ordnung weil ich natürlich
zur Diagnose Fehlermeldungen sehen will. Ich habe nun aber ein Script,
das evtl. einen Fehler auslösen kann, und ich würde gerne DIESEN teil
des Scripts so gestalten, das KEINE warnung ausgegeben wird (also keine
Meldung von der DBI ).

Es scheint aber keine Methode zu geben, nachtràglich {PrintError => 0 }
bei einer bestehenden DBI_handle zu setzen ? Was mache ich stattdessen ?

Gruß, Wolf
foreach (
reverse split(
/\d/, "m1o2c3.4p5e6e7h8s9a0l9l8i7r6e5u4g3\@2f1l0o1w"
)) { print; }
 

Lesen sie die antworten

#1 Wolf
18/12/2010 - 15:35 | Warnen spam
Am 18.12.2010 14:51, schrieb Wolf:
Hallo,

ich arbeite an einem Projekt mit mod_perl und mySQL Datenbanken.

Scripts, die SQL Anfragen machen, verbinden sich über
my $dbh = DBI->connect( 'DBI:mysql:host=myHost', $user, $passwort,
{ PrintError => 1, RaiseError => 0, AutoCommit => 1 }
);
Das ist in den meisten Fàllen auch völlig in Ordnung weil ich natürlich
zur Diagnose Fehlermeldungen sehen will. Ich habe nun aber ein Script,
das evtl. einen Fehler auslösen kann, und ich würde gerne DIESEN teil
des Scripts so gestalten, das KEINE warnung ausgegeben wird (also keine
Meldung von der DBI ).

Es scheint aber keine Methode zu geben, nachtràglich {PrintError => 0 }
bei einer bestehenden DBI_handle zu setzen ? Was mache ich stattdessen ?

Gruß, Wolf


Antwort gefunden... :)

local $SIG{__WARN__} = sub{};

Gruß Wolf
foreach (
reverse split(
/\d/, "m1o2c3.4p5e6e7h8s9a0l9l8i7r6e5u4g3\@2f1l0o1w"
)) { print; }

Ähnliche fragen