$_->()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]; #### $_->() # 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