Factorial

Score: 53.11 (pass)

working on tiebreak...

#!perl -l
($~=$~*$_%10**6)=~s~0*$~~for($~=1)..pop;print$~%10

Score: 53.14 (pass)

hope the "10**6" will be okay, since the input is limited to 9999

#!perl -l
($s=$s*$_%10**6)=~s/0*$//for($s=1)..pop;print$s%10

Score: 67.12 (pass)

#!perl -l
$s=1;map{$s=$s*$_%10**6;$s=~s/(.)0*$/$1/;$l=$1}1..pop;print$l||1

Score: 81.12 (pass)

#!perl -l
sub
_{my$n=pop;$n?(($n*_($n-1))=~/(.{0,5}[^0])0*$/,$1):1}print
_(pop)=~/(.)$/;