Postorder

Score: 100.15 (pass)

Phuh. Finally at 100. But still long way to go...

#!perl -l
sub z{z(@_[0,3]),z(@_[2,4]),@_[1]if(@_=("@_"=~/(.*)(.)(.*) \2/,$'=~/([_$1]*)/,$'))>4}print z@ARGV

Score: 123.12 (pass)

#!perl -l
sub z{if($_[0]=~s/.//){$_[1]=~/$&/;my($z,$x)=($`,$');$_="$&$_";$_[0]=~/[_$z]*/;my$y=$&;z("$'",$x);z($y,$z)}}z@ARGV;print