Postorder

Score: 97.10 (pass)

Happiness is breaking 100 after so many tries!

#!perl -l
split//,pop;$_=pop;1while++$}<@_&/$_[$z].*$_[$}]/&&(@_[$z,$}]=@_[$},$z])||($}=++$z)<@_;print@_

Score: 100.10 (pass)

Whew! I'm almost out of breath! Some of us are still working here at the back of the pack!

Keep running, and don't look back, they might be gaining on you

#!perl -l
split//,pop;$_=pop;1while++$~<99&/$_[$}].*$_[$~]/&&(@_[$},$~]=@_[$~,$}])||($}=$~=$z++)<99;print@_

Score: 104.09 (pass)

Still at #25, but I am aiming for a sub 100 postorder. Time will tell.

#!perl -l
split//,pop;$_=pop;1while$~<99&/${_[$z]}.*${_[++$~]}/&&(@_[$z,$~]=@_[$~,$z])||($z=$~=$x++)<99;print@_

Score: 107.10 (pass)

Number 25 again! So much work to stay in the same place.

#!perl -l
split//,pop;$_=pop;1while($y=$_[++$~])&&(/${_[$z]}.*$y/)&&(@_[$z,$~]=@_[$~,$z])||($z=$~=$x++)<99;print@_

Score: 110.09 (pass)

Back in the top 25 as I cruise past the day 1 version of Yanick by a mere whisker ...

#!perl -l
split//,pop;1while(index$z||=pop,$_[$y])<(index$z,$_[++$~])&&(@_[$y,$~]=@_[$~,$y])||($y=$~=$x++)<99;print@_

Score: 111.08 (pass)

May I proceed to the next stop the rankings? Only one more stroke.

#!perl -l
split//,pop;$z=pop;while(($y=$~=$x++)<99){@_[$y,$~]=@_[$~,$y]while index($z,$_[$y])

Score: 114.09 (pass)

Moving up one to the "!last" spot. A few more to catch Yanick with his hands tied behind his back.

#!perl -l
split//,pop;$z=pop;while(($~=$y++)<99){@_[$y-1,$~]=@_[$~,$y-1]while index($z,$_[$y-1])

Score: 124.09 (pass)

Fix those tie-breakers - just in case ...

#!perl -l
split//,pop;$z=pop;while(($~=$y)<99){@_[$~-1,$~]=@_[$~,$~-1]while index($z,$_[$~])

Score: 127.09 (pass)

#!perl -l
$_=pop;$p=pop;while(($m=$c)<26){split//;1while index($p,$j=$_[$c])

Score: 133.10 (pass)

It took me a while to get past ALIEN/LENIA. A big misunderstanding. The good news is that I'm still in the Top 25.

#!perl -l
$_=pop;$p=pop;while(($m=$c)<26){@i=split//;$j=$i[$c++];1while index($p,$j)$c;s/.{$m}/$&$j/;s/$j//}print