@ARGV=$0; $GR=@AV+$=;$_=<>;s/([^+]+)\+.+/y|$+$GR++|morenlpsk|/;eval;s/[^k]+?kk(.+)kk.+/$+/;print;
Update: Prints `
perlmonks'. Runs only from its own file, code starting on first line with no extra leading spaces, obviously no
#!/usr/.../perl on the first line.
What it does
Transliterates the perl code itself onto the
perlmonks string. Reuses an anagram of the same characters (
@ARGV=$0; to
$GR=@AV..) to generate more perl code and transforms it into a
y||| transliteration by using an
s/// search. Also uses the fact that unmapped transliteration characters are mapped to the last of the mapped-to characters. Obfuscates the character
0 (zero) by using the
$= variable whose value is usually 60 by default (`6' will map to the last transliteration character, `k', while `0' will map to `s').
I see another monk,
jdalbec, has taken the time to rearrange the code in
a reply.