Factorial

Score: 56.11 (pass)

#!perl -l
++$_;$_*=$x--,s/0*$//,$_%=1E5while$x||=pop;print
chop

Score: 63.11 (pass)

Okay... Second try.

#!perl -l
$_=1;$x=pop;$_*=$x--,($_)=/([^0]{1,5})0*$/while$x;print chop

Score: 64.11 (fail)

Aaaand it's a start

#!perl -l
$x=1;($x*=$_)=~s/.*?([^0]{1,4})0*$/$1/for 1..pop;print chop$x