http://qs321.pair.com?node_id=62942

Just wanted to prove to myself that I could do it too (and to let Jouke have his turn to carp at me ;))
$_->()for map{my$y=$_;sub{print$y}}(split qr,,,q,use re;$y=~tr/kn ol/Japh/c;$,)[map-0141+ord,q=uabldv;prlxfmdwfeoidxvzofe==~m~.~g];
With apologies to John Porter on the FWP mail list

Warning The line feed after the kn should not be deleted!

Spoiler
$_->() # Execute closure for map{ my $y = $_; # Lexical for closure sub{ print $y } # Create closure } # Create a list by splitting q,, text into characters ( split qr,,, q,use re;$y=~tr/knXol/Japh/c;$, # ^... Place holder for line feed ) # Create a slice into the text list above. The contents # of [] are the indices of the characters that I want to # use in the text above, in the order I want to use them [ map -0141 + ord, # $_ - ord('a') q=uabldv;prlxfmdwfeoidxvzofe= =~ m~.~g # Splits into characters ];

-- I knock my pate and fancy wit will come Knock as I please, there's no one at home a pontiff paraphrased

Replies are listed 'Best First'.
Re: Not quite a JAPH
by Jouke (Curate) on Mar 08, 2001 at 15:48 UTC
    OK. I admit...you got me puzzled. Please, please explain...why does this work? Tyke++!!

    Jouke Visser, Perl 'Adept'