my ($untainted) = ($_num =~ /^(.*)$/); if ($untainted >= 0 and $untainted < 1) { $num = $untainted + 0.0; } #### for my $_num (0, 1, ".5", -0.5, 0.5, 9.00000999999, 0.0000099999999, "asdfads", "0.9999999999999999999999999999") { my $num; my ($untainted) = ($_num =~ /^(.*)$/); if ($untainted >= 0 and $untainted < 1) { $num = $untainted + 0.0; } print "$_num $untainted $num\n"; }