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
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.