sub _{q^J?L81P>Q%M(Zz*O=Q\\4U6]8Jf^} @^=split//,_;$^=${^}^$^;map{ print+($^ ^$_)lt' '? q; ;:$^ ^$_;$^=$_; }@^;

Comments, improvements, or your analysis are welcome!

Update: Cut and paste exactly as it is; whitespace is sometimes significant.

This is actually my second JAPH. I was getting ready to post my first when I saw merlyn's node about the canonical JAPH. My first JAPH did not include the comma, or have proper capitalization.

TheEnigma