Basic Scalar Operations
```
#!/usr/bin/perl -w
########################  Scalar Operations Demo  #########################
print "\007\n";        #######  Octal for ASCII bell character.

\$var = "20";
\$newvar = \$var ** 2;   #######  Should be 20 * 20 which is 400.
print "\$newvar\n";

\$newvar = \$var / 3;    #######  / ALWAYS does floating division. Result: 6.67
print "\$newvar\n";
print \$newvar / 2, "\n";  ######  Can't do arithmetic in quotes!!

use integer;
\$newvar = \$var/3;      #######  Coerce integer arithmetic. Result: 6
print "\$newvar\n";

no integer;
\$newvar = \$var/3;      #######  Go back to floating point.  Result: 6.67
print "\$newvar\n";

\$newvar = \$var % 3;    #######  20 divided by 3 leaves remainder of 2
print "\$newvar\n";

\$var = "*";
print \$var x 75, "\n"; #######  Prints 75 "*" characters.

\$var = 0;
\$var += 10;            #######  \$var op= value is same as \$var = \$var op value
print "\$var\n";
\$var *= 2.3;           #######  Turns into a floating point result (34.5).
print "\$var\n";        #######  Notice the type conversion done by Perl.
#######  If results are integral, no decimal point!

print "Enter a line: ";
while ((\$line = <STDIN>) !~ /^\s*quit\s*\$/i)
{
chomp \$line;
\$string .= \$line;
print "Enter a line: ";
}
print "\$string\n\n";

########  Relational Operators
########  For numbers:  <   <=   >    >=   ==   !=
########  For strings:  lt  le   gt   ge   eq   ne

print "Enter a number: ";
while ((\$line = <STDIN>) < 10)
{
print \$line;  #####  Note that whitespace (here \n) ignored in numbers!!
print "Enter a number: ";
}

print "Enter a string: ";
while ((\$line = <STDIN>) lt "Noodle")
{
print \$line;
print "Enter a string: ";
}
#############################  Program Output  ############################

\$ scalars.pl

400    #########  20 ** 2
6.66666666666667    #######  Perl gives you LOTS of decimal places.
3.33333333333333    #######  The above divided by two.
6      #########  After "use integer"
6.66666666666667    #######  After "no integer"
2                   #######  Notice lack of decimal point.

***************************************************************************

10
23
Enter a line: hello
Enter a line: goodbye
Enter a line: quit
hellogoodbye

Enter a number:   8   ######  Whitespace in numbers is ignored!!
8
Enter a number: 4
4
Enter a number: 12    ######  < 10 test failed!

Enter a string: Nimrod
Nimrod
Enter a string: Foobar
Foobar
Enter a string: nimrod   ####### 'n' is less than 'N'

###########################  Operator Summary  ############################

For examples below, assume \$var's value is 5.

Example            Result           Operator           Operator's Action
-------            ------           --------           -----------------

"AB" x 3           ABABAB              x               Replicate string

\$var++               6              postfix ++         Add one to \$var AFTER
\$var's value is used.

++\$var               6              prefix ++          Add one to \$var BEFORE
\$var's value is used.

\$var--               5              postfix --         Subtract one from \$var
AFTER \$var is used.

--\$var               5              prefix --          Self-explanatory!!

\$var."string"     5string              .               Concatenation.

\$var *= 3;           15                *=              Multiple left operand
by right operand.

\$var ** 3            125               **              Exponentiation.
```