Don't use an obfuscated version of RSA, whatever you do. There are all kinds of issues like blocking, padding, and key management that are likely to get swept under the rug if someone's trying to cram RSA into three lines. If
you need public key encryption, you can grab Crypt::RSA
-- it's pretty nice, once you manage to get Math::Pari
to install... There are plenty of other good crypto modules out there, too.
I agree with wog's comments. UUencode is a bad idea; it adds extra redundancy to the message (for instance, setting the first character to a value determined by the length of the message), which helps a cryptanalyst. Another problem is that only the first 2*length($key)-1 bytes of the message are protected by the key in any way. If someone tries to put a larger message into it, part of the message will be obscured but easily recoverable.
Also, your tr/// replacement string contains the letter c twice, so you won't always be able to decrypt the message properly.