http://qs1969.pair.com?node_id=86705

#!/usr/bin/perl -w use strict;sub p{$_="\c];\a \3SE\$\5!.\f) Ut4)\aHI#\5\f%) "; y< \n>++d;@_ =/.+?(?=\d|$)/gm; $== $|; ;y ,"-/ ,\f- ,; $; =$_ ;; ;y{;E!\a4.;@ \0-z} ^</*:> nb^d;; ; map {s }\W # }}xg ;} @_; @_= map { chr (($ == @{[/ ./gx ]}) ?($-= ++$= **3,$%+= $-,)[0]: $%/2)}@_ ,q++;map {s[(.) ]~@_= map{$_^$',$ _^$+}@_~ex ;}/../g ;${;} =~s{.}% map{$_^= ${&}}@_;$\ .=shift() ;%ges; $\.=$/; print $'; } p
Update: Changed "\r" as it was causing portability issues (kilinrax)
Second Update: Re-written, fixed, and tested for MacPerl (kilinrax)
Third Update: Neatened up 'bones' (kilinrax)