Well this is my first attempt at a JAPH. Which seems to be what most people preface their code with, so I will be a good little lemming. ;0) It definitely won't pass -w but it works and I'm really psyched about that.
@_=(Z & t,o & u,P | b,D | h);push @_, split//,for(o & x,u & a,b | c,H | c,o & u,v & z,".\n"); ($g,$f,$d,$e,$a,$b,$c)=qq;reagthhangagfgoa; =~/^(.)(.).{2}(.)(.).(.)(.).{5}(.).$/;unshift @_,qq|$a$b$c$d$e$f$g|; unshift @_,(reverse(split/k:SJJ/,qq;tk:SJJsk:SJJuk:SJJJ; ));print join("",@_[0..3])." $_[4] ".join("",@_[5..8])." ". join("",@_[9..16]);
Moo