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