Breakthrough!
#!perl -l
$_=pop;for$z(pop=~/./g){s/$z(.*)/
$1
$z/}print/./g
|
#!perl
@x=pop;for$n(pop=~/./g){@x=map+(split/($n)/)[0,2,1],@x}print@x,$/
|
#!perl -l
@x=pop;for$n(pop=~/./g){@x=map+(split/($n)/)[0,2,1],@x}print@x
|
Some obvious optimizations
#!perl
@x=pop;for$n(pop=~/./g){@x=map+(split/($n)/)[0,2,1],@x}print@x,"
"
|
#!perl
@x=pop;foreach$n(pop=~/./g){@x=map+(split/($n)/)[0,2,1],@x;}print grep$_,@x,"
"
|