I think there is a better example than 0.0, 0E0. The DBI can return this string "0E0" as a "true", success value, meaning the operation worked, but there are zero results! This is logical "true", but numeric "0".
Your point about 0.0 is well taken.
Update:
And yes I should have said a hash key's value instead of just referring to the return value of the hash key or just the hash key.
But it seems that we have tripped over something in a different direction. Folks using the DBI should be aware of this 0E0 stuff. This was/is a very clever idea.