Perl | tr Operator

11 Feb, 2022
The tr operator in Perl translates all characters of SearchList into the corresponding characters of ReplacementList.Here the SearchList is the given input characters which are to be converted into the corresponding characters given in the ReplacementList.
Syntax: tr/SearchList/ReplacementList/
Return:number of characters replaced or deleted
Example 1: This example uses tr operator for translating from lower case to upper case.
#!/usr/bin/perl   # Initializing the strings$string1 = 'gfg is a computer science portal';$string2 = 'geeksforgeeks';  # Calling tr function$string1 =~ tr/a-z/A-Z/;$string2 =~ tr/a-z/A/;  # Printing the translated stringsprint "$string1\n";print "$string2\n";
Output:
GFG IS A COMPUTER SCIENCE PORTAL
AAAAAAAAAAAAA

Example 2: This example uses tr operator for translating from upper case to lower case.
#!/usr/bin/perl   # Initializing the strings$string1 = 'GFG IS A COMPUTER SCIENCE PORTAL';$string2 = 'GEEKSFORGEEKS';  # Calling tr function$string1 =~ tr/A-Z/a-z/;$string2 =~ tr/A-Z/p/;  # Printing translated stringsprint "$string1\n";print "$string2\n";
Output :
gfg is a computer science portal
ppppppppppppp
Example 3: This example uses tr operator for translating from upper case to numeric form.
#!/usr/bin/perl   # Initializing the strings$string1 = 'GFG IS A COMPUTER SCIENCE PORTAL';$string2 = 'GEEKSFORGEEKS';  # Calling tr function$string1 =~ tr/A-Z/0-9/;$string2 =~ tr/A-Z/5/;  # Printing translated stringsprint "$string1\n";print "$string2\n";
Output :
656 89 0 29999949 9284924 999909
5555555555555

Use of ‘s’ operator :The ‘s’ operator is used at the end of ‘tr’ operator to detect the duplicate characters in the given string and replace them with the specified character.
Example:
#!/usr/bin/perl   # Initializing the strings$string1 = 'geeksforgeeks';$string2 = 'geeksforgeeks';  # Calling tr function# without appending 's' to 'tr' operator$string1 =~ tr/ee/e/;  # Appending 's' to 'tr' operator$string2 =~ tr/ee/e/s;  # Printing translated stringsprint "$string1\n";print "$string2\n";
Output :
geeksforgeeks
geksforgeks

In the above code, it can be seen that when ‘s’ is appended to the end of ‘tr’ operator then it replaces repeated “e” i.e, “ee” with a single “e”.
Use of ‘c’ operator :The ‘c’ operator is used at the end of ‘tr’ operator to detect the space (‘ ‘) character in the given string and replace it with the specified character.
Example:
#!/usr/bin/perl   # Initializing the strings$string1 = 'gfg is a computer science portal';$string2 = 'gfg is a computer science portal';  # Calling tr function# without appending 'c' to 'tr' operator$string1 =~ tr/a-z/_/;  # Appending 'c' to 'tr' operator$string2 =~ tr/a-z/_/c;  # Printing translated stringsprint "$string1\n";print "$string2\n";
Output :
___ __ _ ________ _______ ______
gfg_is_a_computer_science_portal

In the above code, it can be seen that in between each word the sign underscore (“_”) is used which is done with the appending of ‘c’.
Note 1: This tr operator does the task of lc() function and uc() function as well as it translates the input characters into numeric form etc.
Note 2: This tr operator is slightly different from y operator because y operator does not use the appending of “c” or “s” to the operator but tr operator does.
mikedev
perl-operators
Perl-String-Operators
Perl
Perl
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Perl | Arrays (push, pop, shift, unshift)
Perl | Arrays
Perl Tutorial - Learn Perl With Examples
Perl | Polymorphism in OOPs
Perl | Boolean Values
Perl | Subroutines or Functions
Use of print() and say() in Perl
Perl | Basic Syntax of a Perl Program
Hello World Program in Perl
Introduction to Perl