Cantor

Score: 38.21 (pass)

#!perl -li-
s//$'$"/for($^I,$")x pop;print$^I

Score: 41.22 (pass)

#!perl -li-
$^I.=$".$^I,$"x=3for 1..pop;print$^I

Score: 44.23 (pass)

#!perl -li-
map{$^I.=$"x3**--$_.$^I}1..pop;print$^I

Score: 46.22 (pass)

#!perl -l
map{$i.=$_--?$"x3**$_.$i:"-"}0..pop;print$i

Score: 47.21 (pass)

#!perl -l
for$i(0..pop){$_.=$i--?$"x3**$i.$_:"-"}print

Score: 48.21 (pass)

#!perl -l
for$i(0..pop){$_.=$i--?" "x3**$i.$_:"-"}print

Score: 51.24 (pass)

#!perl -l
for$x(0..pop){y/-/ /;$t=$_=$x?"$t$_$t":"-"}print

Score: 52.25 (pass)

#!perl -l
$p="-";for(1..pop){$_=$p;y/-/ /;$p.=$_.$p}print$p

Score: 72.26 (pass)

#!perl -l
sub d{($a=$c=pop)?do{$_=$b=d($a-1);tr/-/ /;"$b$_$b"}:'-'}print d(pop)

Score: 77.25 (pass)

#!perl -l
sub d{return'-'if!($a=@_[0]);$_=$b=d($a-1);tr/-/ /;"$b$_$b"}print d(shift)

Score: 79.23 (pass)

not better than last one, but stranger argorithm :)

#!perl -l
use POSIX;for$z(1..3**pop){$_++while 1-$z+strtol$_,3;$c.=/1/?' ':'-'}print$c