http://www.perlmonks.org?node_id=141279


in reply to Replacing multiple words in a regex

$str = tr/green,blue/$yellow,$RED/;

The above post states the answer to your question, but I'd point out another thing. In the above code you're using the wrong operator. in order to bind tr///, s///, or m/// to a string you need to use the =~ operator like so:

$str =~ tr/g/o/;

It's a common mistake so maybe it's just a typo when you submitted the code. The way you have it written, tr/// is in scalar context and will just return how many times it replaced something.

Edited: fixed typo -- japhy

Update:See? I told you it was a common mistake! ;) . Maybe I need another cup of coffee... or need to stop using the default variable so much..