tr/// is ok if it doesn't matter whether or not the digit follows an alpha character. He didn't specify whether this would be an issue or not; his discription of the problem was inadequate at explaining whether the alpha character plays a significant roll in determining whether or not to swap twos for ones and ones for twos.
Your example with tr/[12]/[21]/; is in error, though. Technically it's not hurting anything to be substituting a [ character for another [ character, but it's pointless to do so. You might have been thinking that you needed to set up a character class within the tr/// operator. But tr/// doesn't use character classes, so [ and ] are seen as literal characters to be transliterated.
It's also advisable to get in the habit of not using $a and $b, even in examples, since these variables (their global form) play a crucial role in sort. In the interest of avoiding confusion or difficult to track-down bugs, let sort have $a and $b. You can have your way with $c .. $z though. ;)
Dave
In reply to Re^2: replace a digit with another digit
by davido
in thread replace a digit with another digit
by kevyt
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |