in reply to Unwanted implicit conversion to float
You might want to look at using a module like John Peacock's Math::Currency, "Exact Currency Math with Formatting and Rounding".