I'm afraid I can't be too much help here, but I do have one
suggestion.
When you come across the parts you don't understand (or
even the ones you think you understand, but aren't sure about),
look them up.
Crack open the Camel and read what it has to say about
what
tr does, and what it returns.
Do this for every bit you find confusing, and you'll not
only have a
much better understanding of the code than if you'd just guessed, you'll also have increased your general perl knowledge (sorta like improving your vocabulary by looking up every word you're not 100% sure about while reading a book).