Perl Operators
w3hello.com logo
Perl Basics
Perl Introduction
Perl Installation
Perl Comments
Perl String
Perl Operators
Perl Variables
Perl Arrays
Perl do...while Loop
Perl Environment
Perl Syntax Overview
Perl while Loop
Perl Array with Loops
Perl IF...ELSE statement
Perl IF Statement
Perl if-else
Perl foreach Loop
Perl for Loop
Perl continue Statement
Perl nested Loop
Perl until Loop
Perl next Statement
Perl Array
Perl Loops
Perl File I/O
Perl goto
Perl Socket Programming
Perl Error Handling
Perl Directories
Perl Process Management
Perl stdin
Real Device Vs Emulator Testing: Ultimate Showdown
Perl Formats Writing Reports
Perl Regular Expressions
Perl Create Excel File
A complete guide to CSTE certification
Perl Hashes
Perl Special Variables
Perl do-while Loop
Perl Chop() Vs Chomp()
The Perl DBI
Perl IF...ELSIF statement
Perl print() and say()
Perl Database Access
Perl Formats
Perl last Statement
Perl UNLESS...ELSE statement
Perl Scalars
How to organize Requirements as a Business Analyst
Perl Packages and Modules
Perl goto Statement
Perl Object Oriented
Perl Subroutines
Perl redo Statement
Perl Command Line Arguments | argv
Perl String Escaping Characters
Perl Date and Time
Perl Modules and namespaces
Perl UNLESS...ELSIF statement
Perl Conditional Statements IF...ELSE
Perl Functions and Subroutines
Perl Sending Email
Perl DBI
Perl Versions
Top 100 QTP Interview Questions & Answers
Perl Operator Types
Perl switch Statement
Perl File handling
Perl References
Perl CGI Programming
Object Oriented Programming in PERL
Perl switch
Perl Interview Questions
How PERL is used in Automation Testing
Perl Functions References
Perl Multidimensional Array
Perl unless Statement
Perl Basics
Previous : Perl String Next : Perl Variables

Perl Operators


What is an Operator?

Simple answer can be given using the expression 4 + 5 is equal to 9. Here 4 and 5 are called operands and + is called operator. Perl language supports many operator types, but following is a list of important and most frequently used operators −

  • Arithmetic Operators
  • Equality Operators
  • Logical Operators
  • Assignment Operators
  • Bitwise Operators
  • Logical Operators
  • Quote-like Operators
  • Miscellaneous Operators

Lets have a look at all the operators one by one.

Perl Arithmetic Operators

Assume variable $a holds 10 and variable $b holds 20, then following are the Perl arithmatic operators −

Show Example

Sr.No. Operator & Description
1

+ ( Addition )

Adds values on either side of the operator

Example − $a + $b will give 30

2

- (Subtraction)

Subtracts right hand operand from left hand operand

Example −$a - $b will give -10

3

* (Multiplication)

Multiplies values on either side of the operator

Example −$a * $b will give 200

4

/ (Division)

Divides left hand operand by right hand operand

Example −$b / $a will give 2

5

% (Modulus)

Divides left hand operand by right hand operand and returns remainder

Example −$b % $a will give 0

6

** (Exponent)

Performs exponential (power) calculation on operators

Example −$a**$b will give 10 to the power 20

Perl Equality Operators

These are also called relational operators. Assume variable $a holds 10 and variable $b holds 20 then, lets check the following numeric equality operators −

Show Example

Sr.No. Operator & Description
1

== (equal to)

Checks if the value of two operands are equal or not, if yes then condition becomes true.

Example − ($a == $b) is not true.

2

!= (not equal to)

Checks if the value of two operands are equal or not, if values are not equal then condition becomes true.

Example − ($a != $b) is true.

3

<=>

Checks if the value of two operands are equal or not, and returns -1, 0, or 1 depending on whether the left argument is numerically less than, equal to, or greater than the right argument.

Example − ($a <=> $b) returns -1.

4

> (greater than)

Checks if the value of left operand is greater than the value of right operand, if yes then condition becomes true.

Example − ($a > $b) is not true.

5

< (less than)

Checks if the value of left operand is less than the value of right operand, if yes then condition becomes true.

Example − ($a < $b) is true.

6

>= (greater than or equal to)

Checks if the value of left operand is greater than or equal to the value of right operand, if yes then condition becomes true.

Example − ($a >= $b) is not true.

7

<= (less than or equal to)

Checks if the value of left operand is less than or equal to the value of right operand, if yes then condition becomes true.

Example − ($a <= $b) is true.

Below is a list of equity operators. Assume variable $a holds "abc" and variable $b holds "xyz" then, lets check the following string equality operators −

Show Example

Sr.No. Operator & Description
1

lt

Returns true if the left argument is stringwise less than the right argument.

Example − ($a lt $b) is true.

2

gt

Returns true if the left argument is stringwise greater than the right argument.

Example − ($a gt $b) is false.

3

le

Returns true if the left argument is stringwise less than or equal to the right argument.

Example − ($a le $b) is true.

4

ge

Returns true if the left argument is stringwise greater than or equal to the right argument.

Example − ($a ge $b) is false.

5

eq

Returns true if the left argument is stringwise equal to the right argument.

Example − ($a eq $b) is false.

6

ne

Returns true if the left argument is stringwise not equal to the right argument.

Example − ($a ne $b) is true.

7

cmp

Returns -1, 0, or 1 depending on whether the left argument is stringwise less than, equal to, or greater than the right argument.

Example − ($a cmp $b) is -1.

Perl Assignment Operators

Assume variable $a holds 10 and variable $b holds 20, then below are the assignment operators available in Perl and their usage −

Show Example

Sr.No. Operator & Description
1

=

Simple assignment operator, Assigns values from right side operands to left side operand

Example − $c = $a + $b will assigned value of $a + $b into $c

2

+=

Add AND assignment operator, It adds right operand to the left operand and assign the result to left operand

Example − $c += $a is equivalent to $c = $c + $a

3

-=

Subtract AND assignment operator, It subtracts right operand from the left operand and assign the result to left operand

Example − $c -= $a is equivalent to $c = $c - $a

4

*=

Multiply AND assignment operator, It multiplies right operand with the left operand and assign the result to left operand

Example − $c *= $a is equivalent to $c = $c * $a

5

/=

Divide AND assignment operator, It divides left operand with the right operand and assign the result to left operand

Example − $c /= $a is equivalent to $c = $c / $a

6

%=

Modulus AND assignment operator, It takes modulus using two operands and assign the result to left operand

Example − $c %= $a is equivalent to $c = $c % a

7

**=

Exponent AND assignment operator, Performs exponential (power) calculation on operators and assign value to the left operand

Example − $c **= $a is equivalent to $c = $c ** $a

Perl Bitwise Operators

Bitwise operator works on bits and perform bit by bit operation. Assume if $a = 60; and $b = 13; Now in binary format they will be as follows −

$a = 0011 1100

$b = 0000 1101

-----------------

$a&$b = 0000 1100

$a|$b = 0011 1101

$a^$b = 0011 0001

~$a  = 1100 0011

There are following Bitwise operators supported by Perl language, assume if $a = 60; and $b = 13

Show Example

Sr.No. Operator & Description
1

&

Binary AND Operator copies a bit to the result if it exists in both operands.

Example − ($a & $b) will give 12 which is 0000 1100

2

|

Binary OR Operator copies a bit if it exists in eather operand.

Example − ($a | $b) will give 61 which is 0011 1101

3

^

Binary XOR Operator copies the bit if it is set in one operand but not both.

Example − ($a ^ $b) will give 49 which is 0011 0001

4

~

Binary Ones Complement Operator is unary and has the efect of 'flipping' bits.

Example − (~$a ) will give -61 which is 1100 0011 in 2's complement form due to a signed binary number.

5

<<

Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand.

Example − $a << 2 will give 240 which is 1111 0000

6

>>

Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand.

Example − $a >> 2 will give 15 which is 0000 1111

Perl Logical Operators

There are following logical operators supported by Perl language. Assume variable $a holds true and variable $b holds false then −

Show Example

Sr.No. Operator & Description
1

and

Called Logical AND operator. If both the operands are true then then condition becomes true.

Example − ($a and $b) is false.

2

&&

C-style Logical AND operator copies a bit to the result if it exists in both operands.

Example − ($a && $b) is false.

3

or

Called Logical OR Operator. If any of the two operands are non zero then then condition becomes true.

Example − ($a or $b) is true.

4

||

C-style Logical OR operator copies a bit if it exists in eather operand.

Example − ($a || $b) is true.

5

not

Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false.

Example − not($a and $b) is true.

Quote-like Operators

There are following Quote-like operators supported by Perl language. In the following table, a {} represents any pair of delimiters you choose.

Show Example

Sr.No. Operator & Description
1

q{ }

Encloses a string with-in single quotes

Example − q{abcd} gives 'abcd'

2

qq{ }

Encloses a string with-in double quotes

Example − qq{abcd} gives "abcd"

3

qx{ }

Encloses a string with-in invert quotes

Example − qx{abcd} gives `abcd`

Miscellaneous Operators

There are following miscellaneous operators supported by Perl language. Assume variable a holds 10 and variable b holds 20 then −

Show Example

Sr.No. Operator & Description
1

.

Binary operator dot (.) concatenates two strings.

Example − If $a = "abc", $b = "def" then $a.$b will give "abcdef"

2

x

The repetition operator x returns a string consisting of the left operand repeated the number of times specified by the right operand.

Example − ('-' x 3) will give ---.

3

..

The range operator .. returns a list of values counting (up by ones) from the left value to the right value

Example − (2..5) will give (2, 3, 4, 5)

4

++

Auto Increment operator increases integer value by one

Example − $a++ will give 11

5

--

Auto Decrement operator decreases integer value by one

Example − $a-- will give 9

6

->

The arrow operator is mostly used in dereferencing a method or variable from an object or a class name

Example − $obj->$a is an example to access variable $a from object $obj.

Perl Operators Precedence

The following table lists all operators from highest precedence to lowest.

Show Example

left	terms and list operators (leftward)
left	->
nonassoc	++ --
right	**
right	! ~  and unary + and -
left	=~ !~
left	* / % x
left	+ - .
left	<< >>
nonassoc	named unary operators
nonassoc	< > <= >= lt gt le ge
nonassoc	== != <=> eq ne cmp ~~
left	&
left	| ^
left	&&
left	|| //
nonassoc	..  ...
right	?:
right	= += -= *= etc.
left	, =>
nonassoc	list operators (rightward)
right	not
left	and
left	or xor
Previous : Perl String Next : Perl Variables
© Copyright 2018 W3Hello Publishing Limited. All rights reserved.
Contact us | Sitemap