Hi-- I'm currently working on a project that involves replacing a number of scripts that are wrappers around Informix's dbaccess with DBI/DBD::Informix. An odd issue has cropped up: where dbaccess returns (or formats) what are I assume floating point types equal to zero as 0.0, DBI returns 0.00000E+00.
Here's a snippet of a dbaccess dump: 0004010002|O| |0|ML4863CS|S|ML4863CS| |EA|6111.0|AMC09|1.404||||||0.0|0.0|EDI850| | | and the corresponding line from one of our DBI/DBD::Informix scripts: 0004010002|O||0|ML4863CS|S|ML4863CS||EA|6111|AMC09|1.4040||||||0.00000E+00|0.00000E+00|EDI850||| All of these scripts create text files that are later fed into Oracle and there are situations in which sqlldr chokes on 0.00000E+00. Obviously we can munge the output formatting in our scripts with s/// so this is not a critical issue. We would prefer to not go down that route however as this Informix -> Oracle transfer is somewhat time sensitive and the less manipulation we have to do, the better. I've read the dbi-users archive, the DBD::Informix docs and searched a variety of other Informix resources with no luck. Does anyone have any suggestions ? DBD::Informix is version 1.00.PC2 DBI is version 1.21 I unfortunately have no control over the Informix db so upgrades are impractical if not impossible. We're trying to make the DBI based replacement for the dbaccess wrappers as generic as possible so using printf or sprintf on our query results to control the formatting really isn't practical. The deprecated $# variable has no effect. I suspect that somewhere something like printf "%E", $foo; is happening but I have no idea where . . . . Thanks jeff sumler