Ken Marks <k...@ken-marks.com> wrote: > I wrote a simplified script that demonstrated the problem You could simplify it even more:
use strict; use warnings; use DBI; my $dbh = DBI->connect(...); print $dbh->selectrow_array("select $_"), $/ for qw( 2.775557561562E-17 2.7755575615629E-17 ); Anyway, as expected, DBI doesn't seem to be the culprit, it returns whatever the DB provides, which was never NULL in my tests (various everything, but no ODBC/MSWindows, sorry). > It seems that when the mantissa of a number has too many significant digits > DBI returns a NULL instead of the number. You can't be sure that's NULL/undef there, at least not until warnings are enabled. Try tracing DBI to see what's going on. Good luck