Factorial

Score: 50.09 (pass)

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

Score: 50.10 (pass)

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

Score: 51.13 (pass)

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

Score: 52.13 (pass)

Now if only I could figure out how to avoid the `print' ...

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

Score: 53.14 (pass)

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

Score: 59.11 (pass)

#!perl -l
$a=1;map{$a=$a%1e6*$_;$a/=10until$a%10}2..pop;print$a%10

Score: 60.11 (pass)

#!perl -l
$a=1;for(2..pop){$a=$a*$_%1e6;$a/=10until$a%10}print$a%10