printf "%.16e\n", $x;
####
1.0000000000000000e+000
1.1000000000000001e+000
1.2000000000000002e+000
1.3000000000000003e+000
1.4000000000000004e+000
1.5000000000000004e+000
1.6000000000000005e+000
1.7000000000000006e+000
1.8000000000000007e+000
1.9000000000000008e+000
Stop: x=2.0000000000000009e+000
No, x is not 2.
##
##
for ( 1*10 .. 2*10 ) {
my $x = $_/10;
printf "%.16e\n", $x;
}
##
##
1.0000000000000000e+000
1.1000000000000001e+000
1.2000000000000000e+000
1.3000000000000000e+000
1.3999999999999999e+000
1.5000000000000000e+000
1.6000000000000001e+000
1.7000000000000000e+000
1.8000000000000000e+000
1.8999999999999999e+000
2.0000000000000000e+000