Use <code> tags to prevent line breaking at spaces.
I've broken up the statements into separate lines where possible. You may want to uncomment the extra print statements I've added and run the modified program to get a better view of what's going on. Highlight the black table to view the code.
@ARGV=$0; $GR=@AV+$=; # everything up to the + sign must be unchanged
$_=<>; # read first (only) line of file
s/([^+]+)\+.+/y|$+$GR++|morenlpsk|/; # replace entire line w/ translat
+e
# print;
eval; # self-modifying code!
# print;
s/[^k]+?kk(.+)kk.+/$+/; # get rid of everything but the magic word(s)
print$_;
|