use warnings; use strict; use bignum; my $e = 0.00141; my $o =1; for (1 .. 10){ "@{[$o *= $e]}" =~ /(0\.0*\d{0,5})/; print "$1\n"; } #### 0.00141 0.0000019881 0.0000000028032 0.0000000000039525 0.0000000000000055730 0.0000000000000000078580 0.000000000000000000011079 0.000000000000000000000015622 0.000000000000000000000000022027 0.000000000000000000000000000031059