in reply to strange arithmetic results

You might want to look at Math::Currency or Math::FixedPrecision for this.