পৃষ্ঠাসমূহ

Search Your Article

CS

 

Welcome to GoogleDG – your one-stop destination for free learning resources, guides, and digital tools.

At GoogleDG, we believe that knowledge should be accessible to everyone. Our mission is to provide readers with valuable ebooks, tutorials, and tech-related content that makes learning easier, faster, and more enjoyable.

What We Offer:

  • 📘 Free & Helpful Ebooks – covering education, technology, self-development, and more.

  • 💻 Step-by-Step Tutorials – practical guides on digital tools, apps, and software.

  • 🌐 Tech Updates & Tips – simplified information to keep you informed in the fast-changing digital world.

  • 🎯 Learning Support – resources designed to support students, professionals, and lifelong learners.

    Latest world News 

     

Our Vision

To create a digital knowledge hub where anyone, from beginners to advanced learners, can find trustworthy resources and grow their skills.

Why Choose Us?

✔ Simple explanations of complex topics
✔ 100% free access to resources
✔ Regularly updated content
✔ A community that values knowledge sharing

We are continuously working to expand our content library and provide readers with the most useful and relevant digital learning materials.

📩 If you’d like to connect, share feedback, or suggest topics, feel free to reach us through the Contact page.

Pageviews

Saturday, March 25, 2017

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 −
[ Show Example ]
Operator Description Example
+ Addition - Adds values on either side of the operator $a + $b will give 30
- Subtraction - Subtracts right hand operand from left hand operand $a - $b will give -10
* Multiplication - Multiplies values on either side of the operator $a * $b will give 200
/ Division - Divides left hand operand by right hand operand $b / $a will give 2
% Modulus - Divides left hand operand by right hand operand and returns remainder $b % $a will give 0
** Exponent - Performs exponential (power) calculation on operators$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 ]
Operator Description Example
== Checks if the value of two operands are equal or not, if yes then condition becomes true. ($a == $b) is not true.
!= Checks if the value of two operands are equal or not, if values are not equal then condition becomes true. ($a != $b) is true.
<=> 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. ($a <=> $b) returns -1.
> Checks if the value of left operand is greater than the value of right operand, if yes then condition becomes true. ($a > $b) is not true.
< Checks if the value of left operand is less than the value of right operand, if yes then condition becomes true. ($a < $b) is true.
>= Checks if the value of left operand is greater than or equal to the value of right operand, if yes then condition becomes true. ($a >= $b) is not true.
<= Checks if the value of left operand is less than or equal to the value of right operand, if yes then condition becomes true. ($a <= $b) is true.
Below is a list of equity operators. Assume variable $a holds "abc" and variable $b holds "xyz" then, lets check following string equality operators:
[ Show Example ]
Operator Description Example
lt Returns true if the left argument is stringwise less than the right argument. ($a lt $b) is true.
gt Returns true if the left argument is stringwise greater than the right argument. ($a gt $b) is false.
le Returns true if the left argument is stringwise less than or equal to the right argument. ($a le $b) is true.
ge Returns true if the left argument is stringwise greater than or equal to the right argument. ($a ge $b) is false.
eq Returns true if the left argument is stringwise equal to the right argument. ($a eq $b) is false.
ne Returns true if the left argument is stringwise not equal to the right argument. ($a ne $b) is true.
cmp Returns -1, 0, or 1 depending on whether the left argument is stringwise less than, equal to, or greater than the right argument. ($a cmp $b) is -1.

Perl Assignment Operators

Assume variable $a holds 10 and variable $b holds 20, then −
[ Show Example ]
Operator Description Example
= Simple assignment operator, Assigns values from right side operands to left side operand $c = $a + $b will assigned value of $a + $b into $c
+= Add AND assignment operator, It adds right operand to the left operand and assign the result to left operand $c += $a is equivalent to $c = $c + $a
-= Subtract AND assignment operator, It subtracts right operand from the left operand and assign the result to left operand $c -= $a is equivalent to $c = $c - $a
*= Multiply AND assignment operator, It multiplies right operand with the left operand and assign the result to left operand $c *= $a is equivalent to $c = $c * $a
/= Divide AND assignment operator, It divides left operand with the right operand and assign the result to left operand $c /= $a is equivalent to $c = $c / $a
%= Modulus AND assignment operator, It takes modulus using two operands and assign the result to left operand $c %= $a is equivalent to $c = $c % a
**= Exponent AND assignment operator, Performs exponential (power) calculation on operators and assign value to the left operand $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
[ Show Example ]
Operator Description Example
& Binary AND Operator copies a bit to the result if it exists in both operands. ($a & $b) will give 12 which is 0000 1100
| Binary OR Operator copies a bit if it exists in either operand. ($a | $b) will give 61 which is 0011 1101
^ Binary XOR Operator copies the bit if it is set in one operand but not both. ($a ^ $b) will give 49 which is 0011 0001
~ Binary Ones Complement Operator is unary and has the efect of 'flipping' bits. (~$a ) will give -61 which is 1100 0011 in 2's complement form due to a signed binary number.
<< Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand. $a << 2 will give 240 which is 1111 0000
>> Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand. $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 ]
Operator Description Example
and Called Logical AND operator. If both the operands are true then then condition becomes true. ($a and $b) is false.
&& C-style Logical AND operator copies a bit to the result if it exists in both operands. ($a && $b) is false.
or Called Logical OR Operator. If any of the two operands are non zero then then condition becomes true. ($a or $b) is true.
|| C-style Logical OR operator copies a bit if it exists in eather operand. ($a || $b) is true.
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. 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 ]
Operator Description Example
q{ } Encloses a string with-in single quotes q{abcd} gives 'abcd'
qq{ } Encloses a string with-in double quotes qq{abcd} gives "abcd"
qx{ } Encloses a string with-in invert quotes 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 ]
Operator Description Example
. Binary operator dot (.) concatenates two strings. If $a="abc", $b="def" then $a.$b will give "abcdef"
x The repetition operator x returns a string consisting of the left operand repeated the number of times specified by the right operand. ('-' x 3) will give ---.
.. The range operator .. returns a list of values counting (up by ones) from the left value to the right value (2..5) will give (2, 3, 4, 5)
++ Auto Increment operator increases integer value by one $a++ will give 11
-- Auto Decrement operator decreases integer value by one $a-- will give 9
-> The arrow operator is mostly used in dereferencing a method or variable from an object or a class name$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

1 comment: