# This is one big regex which sets # $_ = ",:_,,},,],,_:){:"},,:,,,,,_,:(,:,,,(:){,,{,:,,,(,:[:){,:(:"}:"",:},:,,,(" s;;,:_,,},,],,_:){:"},,:,,,,,_,:(,:,,,(:){,,{,:,,,(,:[:){,:(:"}:"",:},:,,,(;; # This translates individual characters, e.g., all ',' in $_ become 'P'. # $_ = "PQWPPVPPTPPWQRSQXVPPQPPPPPWPQUPQPPPUQRSPPSPQPPPUPQYQRSPQUQXVQXXPQVPQPPPU" y;,:_}][{"();PQWVTYSXUR;; # This is the step that had me confused. # It takes each individual character and xors it with 'a'. For example: # a (ASCII 97) xor P (ASCII 80) is ASCII 49 ('1') # Now $_ = "106117115116032097110111116104101114032112101114108032104097099107101114" s;(.);a^$1;eg; # This takes each group of three and prints out their chr(); e.g., 106 becomes chr(106) = 'j' # now $_ = "just another perl hacker" s!(...)!chr$1!eg; # Append a newline and print $_.=$/; print;