Michael A Chase wrote:
On Tue, 01 Jul 2003 16:12:09 -0600 Ian Harisay <[EMAIL PROTECTED]> wrote:
Doing the redirect can be a bit clunky. If you want to be more precise with how you handle these errors, add this $attr to your connect statement.
my $attr = { PrintError => 0, RaiseError => 1, AutoCommit => 0 }; my $dbh = DBI->connect( @{$login}, $attr ) or die "Can't connect to Oracle database: $DBI::errstr\n";
then when an error occurs it will not print to STDERR. Rather it
can be read thru $dbh->errstr.
Did you mean 'RaiseError => 0'? With 'RaiseError => 1', connect() never returns if an error occurs. In either case (RaiseError or die), the output goes to STDERR.
When I need to force STDERR to another place, I use open(). Note the autoflush() as well, otherwise the order of output lines going to a file may be incorrect since STDERR is not buffered.
open( LOG, ">> $file" ); autoflush LOG 1; open( STDERR, ">&=" . fileno( LOG ) );
