in reply to DBI HandleError callback not being called

i don't _think_ you can do that. The problem is that you need a handle before you can access the 'HandleError' attribute. You can't even set $DBI::errstr or $DBI::err. There _might_ be a way of tricking Perl into 'reblessing' an object, but i think you will have to settle for something along the lines of:
{ my $db_h = DBI->connect( $db_serverstr, $db_user, $db_pass, {HandleError => sub {die "WHYYYY\n".shift(@_)} } ) or die "WHYYYY\n" . $DBI::errstr; my $sth = $db_h->selectall_arrayref(' grab me stuff from that table '); }
'HandleError' will be used for all subsequent errors.

UPDATE
'RaiseError' will not magically make this work - i thought that it would at first, as well that you need to turn 'PrintError' off, which you don't.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)