First of all, they're not mistaken; the code in the OP is incomplete.
Second of all, DBI->connect returns undef if it fails and does not throw an exception even when RaiseError is specified.
Update: thirdly, the code you just posted is just wrong. you need DBI->connect($source,$username,$password,$options) not DBI->connect("$source whatever",$options)
update 2: just one general point: if you get a perl built-in error, chances are about %99.9 that the error is correct and your assumptions are wrong. If you're convinced the interpreter is wrong, provide a reproducible, short, piece of code that shows the error. Trying to do so will in most cases show you where you're wrong, but if it really shows an error in perl itself, people will be interested. See also Don't claim that you have found a bug
| [reply] [d/l] [select] |
DBI->connect returns undef if it fails and does not throw an exception even when RaiseError is specified.
It does (or is supposed to) throw an exception since DBI 0.91. But only two arguments are being passed to connect, so the attribute hashref is considered the username argument AFAICT, and RaiseError is not really being set.
| [reply] |