#!/usr/bin/perl use strict; use warnings; my $begin = 5; my $end = 7; my $step = 0.1; for (my $i = $begin ; $i <= $end; $i += $step ) { print $i, "\n"; } __END__ # -- OUTPUT -- \ 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 6.1 6.2 6.3 6.4 6.49999999999999 6.59999999999999 6.69999999999999 6.79999999999999 6.89999999999999 6.99999999999999 #------------- # Setting $begin = 6 #------------- 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 #---------------- I get this imprecise addition effect to different extents for different values of $begin. $> perl -v This is perl, v5.8.2 built for i686-linux