in reply to Question concerning tr//

Presumably because a range is a range, whether or not it's between A and Z, or * and {. From perlop:
A character range may be specified with a hyphen, so tr/A-J/0-9/ does the same replacement as tr/ACEGIBDFHJ/0246813579/
There's no mention of character ranges working only on alphanumerics. Although it does suggest that you shouldn't rely on it working properly for anything other than simple alphanumerics.