in reply to $DBI::errstr is always undef
I suspect you want die "couldn't connect!!!: " . DBI->errstr not $DBI::errstr. That is, it's a function, not a string. use strict doesn't catch those when you change namespace like that. Although, the documentation for DBI clearly shows $DBI::errstr, so who knows. Personally, I use the function and don't get any warnings.
UPDATE: ikegami, yes, I said that the example shows $DBI::errstr. No need to point it out again. What I was saying is that using the function also works and avoids the warning. In fact the function really just returns the scalar, so it's a silly thing to argue about anyway.
And if you're curious, they haven't updated the docs yet, but there's been a todo item about it for like 8 years:
# Help people doing DBI->errstr, might even document it one day # XXX probably best moved to cheaper XS code sub err { $DBI::err } sub errstr { $DBI::errstr }
-Paul
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: $DBI::errstr is always undef
by ikegami (Patriarch) on Mar 02, 2007 at 22:25 UTC | |
|
Re^2: $DBI::errstr is always undef
by Anonymous Monk on Oct 04, 2011 at 03:05 UTC | |
by mje (Curate) on Oct 04, 2011 at 09:49 UTC |