Perl | tr Operator
Last Updated :
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.
$string1 = 'gfg is a computer science portal' ;
$string2 = 'geeksforgeeks' ;
$string1 =~ tr /a-z/A-Z/;
$string2 =~ tr /a-z/A/;
print "$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.
$string1 = 'GFG IS A COMPUTER SCIENCE PORTAL' ;
$string2 = 'GEEKSFORGEEKS' ;
$string1 =~ tr /A-Z/a-z/;
$string2 =~ tr /A-Z/p/;
print "$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.
$string1 = 'GFG IS A COMPUTER SCIENCE PORTAL' ;
$string2 = 'GEEKSFORGEEKS' ;
$string1 =~ tr /A-Z/0-9/;
$string2 =~ tr /A-Z/5/;
print "$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:
$string1 = 'geeksforgeeks' ;
$string2 = 'geeksforgeeks' ;
$string1 =~ tr /ee/e/;
$string2 =~ tr /ee/e/s;
print "$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:
$string1 = 'gfg is a computer science portal' ;
$string2 = 'gfg is a computer science portal' ;
$string1 =~ tr /a-z/_/;
$string2 =~ tr /a-z/_/c;
print "$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.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...