Perl seems to understand scientific notation when converting strings to numbers. I think your problem is stripping the minus signs. That means you turn, for example,
3.4e-2 (.034) into
3.4e2 (340). If you just leave the minus sign in place, I think you'll get correct results.
Also, consider using a CSV module from CPAN for this; it can take care of most of the parsing for you.