or download this
$ for number in 3 31 314 3142 31416 314159 3141593 31415927 314159265
+3141592654 31415926536 ; do time -p perl -Mstrict -Mwarnings -le 'my
+$n = shift or die qq{Requires 1 number argument.}; my $o = $n; my @f
+= (); my $i = 2; while ( $n % $i == 0 ) { push @f, $i; $n /= $i; } $i
+++; while ( $n >= $i ) { while ( $n % $i == 0 ) { push @f, $i; $n /=
+$i; } if ( $n > $i ) { $i += 2; } } print $o, q{ = }, join q{*}, @f;'
+ $number ; done
3 = 3
...
real 47.17
user 47.03
sys 0.03