a few chars shaven.
#!perl -l $i=pop;$_=$i?$i:1;while(--$i>0){$_*=$i;s/.*(\d{4}[1-9])0*/$1/}s/.*([1-9])0*/$1/;print
#!perl -l $i=pop;$n=$i>0?$i:1;while(--$i>0){$n*=$i;$n=~s/.*(\d{4}[1-9])0*$/$1/g}$n=~s/.*([1-9])0*/$1/;print$n