Factorial

Score: 59.12 (fail)

Ahh, under 60. :-)

#!perl -l
for$a(++$_..pop){$_*=$a;($_)=/([^0]{1,4})0*$/}print/.$/g

Score: 60.13 (pass)

Hacking my way out...

#!perl -l
for$a(++$_..pop){$_*=$a;($_)=/(.{0,5}[^0])0*$/}print/.$/g

Score: 63.13 (fail)

Chipping away...

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

Score: 70.14 (fail)

Still figuring out the right approach...

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

Score: 81.12 (fail)

First entry. This is a great hole!

#!perl -l
sub f{$_[0]?f($_[0]-1)=~/([^0]{1,4})0*$/&&$_[0]*$1:1}print f(pop)=~/([^0])0*$/