Perl: the Markov chain saw PerlMonks

### Comment on

 Need Help??
The Basic Arithmetic Opertators

 Example Type Result \$a+\$b Addition Sum of \$a and \$b \$a-\$b Subtraction Result of \$b subtracted from \$a \$a*\$b Multiplication Product of \$a and \$b \$a/\$b Division Result of \$a divided by \$b \$a%\$b Modulus Remainder when \$a is divided by \$b \$a**\$b Exponentiation \$a to the power of \$b

String Operators
To prevent confusion strings have their own operators. Perl has its own addition and mulitply operators for strings. These operators are . and x respectively. We'll show you how these work compared to their arithmetic counterparts.
```\$a=2;
\$a=3;
print \$a+\$b   #arithmetic operator prints 5
print \$a.\$b   #string operator prints 2 plus the three or 23
print \$a*\$b   #arithmetic operator prints 6
print \$a x \$b #string operators prints \$a \$b times or 2 three times. i
+e 222
```

Assignment Operators

Assignment simply set values on the left side of a = to what is on the right side. This works for both strings and numbers in Perl. You can speed an assignment like \$a=\$a*3; by using a handy shortcut used in C and C++. You can simplify variable=variable operator expression to variable operator=expression. We'll demonstrate this with some quick examples.
```\$a=3;
\$b="x";
\$c=4;
\$a*=3;     #\$a=\$a*3; \$a now equal to 9;
\$a/=3;     #\$a=\$a/3; \$a (9) divided by three which equals 3;
\$a+=2;     #\$a=\$a+2; \$a is now equal to 5;
\$a-=2;     #\$a=\$a-2; \$a is now equal to 3;
\$b x=3;    #\$b=\$b x \$3 \$b is now equal to "xxx";
\$b .="33"; #b=\$b."33"  \$b is now equal to "xxx33";
```

Another assignment operator often used is ||= which sets a variable equal to a value if the value isn't already set.

Comparison Operators
 Type Numeric String Greater Than > gt Less Than < lt Equal to == eq Not equal != ne Less than or equal to <= le Greater than or equal to >= ge

Another comparison operator is the <=> operator which returns -1 if the second term is greater, 1 if the first term is greater and 0 if the terms are equal. The string equivalent of <=> is cmp.

Autoincrement and Autodecrement operators These operators simply add or subtract one from a given variable. If the operator comes before the variable the value of the variable after the operation is returned. If the operation comes after the variable the value before the operation is returned. For example
```\$a=1;
print \$a++; #prints a as one then adds 1 to it
print \$a;   #now \$a is 2
print ++\$a; #adds one to \$a and then prints its value which is now 3;
print \$a--; #prints 3 then subtracts one from \$a;
```

Logical Operators
 Examples Short Version Textual Version Meaning \$a and \$b; \$a && b && and returns true if \$a and \$b are both defined and nonzero \$a or \$b; \$a||\$b || or returns true if either \$a or \$b is defined and nonzero !\$a; not \$a ! not returns the opposite of what an expression would otherwise

Note those operators are useful for controlling execution based on the way short-circuiting occurs. If you want something to happen only if the first condition isn't met you can use an or.

\$a or print '\$a is notdefined or is equal to zero';

You can also use an and to allow something to execute only if the first criteria evaluates to 0;

\$isMonday and print "Today is Monday\n";

If you want to find ALL the information on ALL the operators here's your place

In reply to Operators: arithmetic and otherwise by root

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

• Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
• Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
• Read Where should I post X? if you're not absolutely sure you're posting in the right place.
• Posts may use any of the Perl Monks Approved HTML tags:
a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
• You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
 For: Use: & & < < > > [ [ ] ]
• Link using PerlMonks shortcuts! What shortcuts can I use for linking?

Create A New User
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2018-04-22 18:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
My travels bear the most uncanny semblance to ...

Results (83 votes). Check out past polls.

Notices?