in reply to While loop;s different behavior

As others have pointed out, the number 0.1 is approximate in binary floating point. Thus, you should only use integers as loop controls.
print $value+$_/10, "\n" for 0 .. 10;