in reply to die send to stdout & stderr

Adding RaiseError => 1 to the connect call might also work for you in which case you won't have to add || die ... after each call.

You also have the ability to change the behavior of die by installing a custom $SIG{__DIE__} handler:

$SIG{__DIE__} = sub { print STDERR @_; print STDOUT ...; # whatever you want exit(1); };
Just throwing some out some ideas/options.

Update: if RC-E represents some sort of context or scope that you want to report via STDOUT, you could use a localize global variable to remember what the current context is.

our $::error_context; { local $::error_context = "RC-E"; $dbh->prepare(...); # dbh call in the RC-E context { local $::error_context = "RC-F"; $dbh->whatever(...); # dbh call in the RC-F context } # back to context "RC-E" ... }
Then the SIG{__DIE__} handler can determine the context by inspecting $::error_context.

Replies are listed 'Best First'.
Re^2: die send to stdout & stderr
by kehansen (Novice) on May 02, 2008 at 21:25 UTC
    Thank You for the info. I like the idea of creating a custom die handler. I will try it.