In this JAPH, if you look closely and squint, you'll find a regexp, and a couple of anonymous arrays. But that's all just the infrastructure to what's actually going on.

Perl is still rather new to me, and I've now written about five of these JAPH's just as a fun means of familiarizing myself with various techniques and constructs.

When you figure it all out please post a reply and let me know. And as always, any constructive comments toward helping me grow more proficient would be highly appreciated.

And now here's the code:

while('EOqylzqw Wkewhvj~[u_kou FZ`jjzjn giYi\\jgocgky+1'=~ m[(?#=~m/)(.(?#))((?#).)(\s?(?#))(?#=~m/)]g){$,.=chr(${ [ord$1..ord$2]}[@{[ord$1..ord$2]}/2]).$3}print'',''

As you might guess, whitespace is significant, so take care not to add or remove any if you cut-n-paste this anywhere.

Oh, as a bonus, this will run with use warnings; and use strict;, without any problem. I never could have developed it without the gentle nudges of those two pragmas.

Enjoy!

Dave

"If I had my life to do over again, I'd be a plumber." -- Albert Einstein