in reply to Rounding a number using (s)printf
See Does Perl Have a round function ?. It briefly mentions the error in rounding and blames it on the IEEE representation used internally.
There is very similar discussion in Rounding error?