in reply to quick question,why int turns to float

The 2nd iteration through the 'for' loop, $i is set to 0.01, which is a floating point value. If you want to control the output, you can use printf:
perl -e 'for($i=0;$i<10;$i+=0.01){printf "%.2f\n", $i}' ... 9.97 9.98 9.99