Why "use integer" makes no difference, IMO, is that Perl recognises the example expression as floating point and will only apply the use integer pragma to fixed point notation - which suggests that for question 2 the answer is to convert the notation first, perhaps using Math::FixedPrecision along the way.