Perl | String Operators
Operators are the foundation of any programming language. Thus, the functionality of Perl programming language is incomplete without the use of operators. A user can define operators as symbols that help to perform specific mathematical and logical computations on operands. String are scalar variables and start with ($) sign in Perl. The String is defined by user within a single quote (') or double quote (") . There are different types of string operators in Perl, as follows:
- Concatenation Operator (.)
- Repetition Operator (x)
- Auto-increment Operator (++)
Concatenation Operator(.)
Perl strings are concatenated with a Dot(.) symbol. The Dot(.) sign is used instead of (+) sign in Perl. This operator takes two scalars variables as operands and combines them in a single scalar variable. Both scalars i.e left and right will convert into a single string.
Example:
# Perl program to demonstrate the
# Concatenation Operator(.) in String
#!/usr/bin/perl
# Input first string
$first_string = "Geeks";
# Input second string
$second_string = "forGeeks";
# Implement Concatenation operator(.)
$concat_string = $first_string.$second_string;
# displaying concatenation string result
print "String After Concatenation = $concat_string\n";
Output:
String After Concatenation = GeeksforGeeks
Repetition Operator (x)
The x operator accepts a string on its left-hand side and a number on its right-hand side. It will return the string on the left-hand side repeated as many times as the value on the right-hand side. The repetition depends on the user's input number.
Syntax:
"String" x number_of_times
Example:
# Perl program to demonstrate the
# Repetition Operator (x) in String
#!/usr/bin/perl
# Input a string
$string = "GeeksforGeeks ";
# Repetition operator(x)
$str_result = $string x 5;
# Display output
# print string 5 times
print "$str_result";
Output:
GeeksforGeeks GeeksforGeeks GeeksforGeeks GeeksforGeeks GeeksforGeeks
Note: Possible cases while using the Repetition Operator (x) in String as follows:
- $string xnumber : Gives Output
- $string x number : Gives Output
- $stringxnumber : Gives Error(where no space between string and x)
- $stringx number : Gives Error(where no space between string and x)
Important Point to Remember: Both the Concatenation and Repetition operator can be used with assignment(=) operator as follows:
- Concatenation Assignment Operator (.=)
- Repetition Assignment Operator (x=)
Example:
# Perl program to demonstrate the
# Concatenation and Repetition
# Assignment Operator in String
#!/usr/bin/perl
# Input first string
$string1 = "Geeks";
# Input second string
$string2 = "forgeeks";
$combine = $string1;
# combine two string function (.=)
$combine .= $string2;
# Display result
print $combine;
$str_result = "Sudo_Placements";
# Repetition operator(x)
$str_result x= 5;
# Display output
# print string 5 times
print "\n$str_result";
Output:
Geeksforgeeks Sudo_PlacementsSudo_PlacementsSudo_PlacementsSudo_PlacementsSudo_Placements
Auto-increment Operator (++)
This operator can also apply to strings. It is a unary operator thats why it will only take a single operand as string. The last character of the operand(i.e string) will increment by one using the ASCII values of characters. The important point to remember about ++ operator that if the string ends with 'z or''Z' then the result of ++ operator will be 'a' or 'A' respectively but the letter to the left of it will also increment by one as well.
Example:
# Perl program to demonstrate
# Auto-increment Operator (++)
#!/usr/bin/perl
# Input string
$st = "AYY";
$st++;
# Display output
print "After ++ : $st";
# Once again
$st++;
# Display output
print "\nAgain After ++ : $st";
Output:
After ++ : AYZ Again After ++ : AZA
What will happen if we pass an Alpha Numeric string with a number at last and try to increment it ? The number will be incremented by one just like it happened with the previous example -
#!/usr/bin/perl
# your code here
$str = "ABC8";
$str++;
print($str);
Output
ABC9
Time Complexity - O(1)
Auxiliary Space - O(1)