in reply to strange result for a simple addition ??

If possible, the best solution is to calculate your decimal numbers from integer numbers and not from other decimal numbers. This prevents an accumulation of error. If you case, this is possible.
$bu[0] = 0; for my $i (1 .. 2*$nb) { # Easier to read. Just as efficient. $bu[$i] = $i * $beu; # Fix. print "$i\t$bu[$i]\n"; }