Postorder

Score: 55.12 (pass)

tie optimization

#!perl
s~~@ARGV~;$/=$1.$/,s~$1~
~gwhile/(.)\D+\1.*
*$/;print$/

Score: 55.19 (pass)

#!perl
s//@ARGV/;$/=$1.$/,s/$1/
/gwhile/(.)\C*\1.*
*$/;print$/

Score: 56.14 (pass)

m// in golf??? am i going mad?

#!perl
$/=$1.$/while"@ARGV"=~m#([^$/]).*\1[^$/]*[$/]*$#;print$/

Score: 57.16 (pass)

#!perl
$_="@ARGV";$/=$1.$/,s/$1/ /gwhile/(\S).*\1\S* *$/;print$/

Score: 65.15 (pass)

breakthrough

#!perl -l
$z="@ARGV";$_=$1.$_ while$z=~s/(\S)(.*)\1(\S*) *$/$2 $3/;print

Score: 91.16 (pass)

is it shortest recursive postorder?

#!perl
/./g,pop=~$&,$~=$`,$z=$',/.{$-[0]}/g,$_=`$ $0 $~ $&`.`$ $0 $z $'`.$`,print/./g,$/if$_=pop

Score: 96.15 (pass)

hehe

#!perl -l
$_=shift;/./g;pop=~$&;$y=$`;$z=$';/.{$-[0]}/g;$_=$`&&`$ $0 $& $y`.`$ $0 $' $z`.$`;print/./g

Score: 128.13 (pass)

just to clear the "200" hurdle

#!perl -l
sub f{"@_"=~/./;my@b=$_[1]=~/(.*)$&(.*)/;my@a=$_[0]=~/(.)(.{$+[1]})(.*)/;$_[0]&&f($a[1],@b).f($a[2],$b[1]).$a[0]}print f@ARGV

Score: 138.14 (pass)

first post :)

#!perl -l
sub f{my($a,$b,@a,@b)=@_;$a=~/./;@b=$b=~/(.*)$&(.*)/;@a=$a=~/(.)(.{$+[1]})(.*)/;$a[0]&&f($a[1],$b[0]).f($a[2],$b[1]).$a[0]}print f@ARGV