Not to be too nitpicky, but if your code is going to hang as
a result of a failed DBI call, then it's never going to get
the chance to be tested. I haven't actually looked at the
internals of DBI (hold on while I put on my asbestos suit),
but I would imagine that there is a
sub DESTROY
that will clean up after a messy exit. On the converse, if
RaiseError is set and the DBI calls are safe, you're not
going to ever encounter the issue anyway.
If I ever have a piece of code that is giving me a DBI
related problem, first thing I do is set RaiseError.
<shrug>
ALL HAIL BRAK!!!