This section describes simple statements - an expression terminated with semicolon. Simple statements can have modifiers: if, unless, while, until, foreach.
In a Perl script, an expression can be used as a simple statement with these rules:
An expression followed by semicolon (;) becomes a simple statement.
For example, $i++; is a simple statement.
Assignments are expressions, not statements.
For example, $price=9.99; is a simple statement with a scalar value expression of one assignment operation.
$title="Book", $price=9.99; is a simple statement with a list value expression of two assignment operations.
Multiple statements can be written in a single line.
A single statement can be written in multiple lines.
A simple statement can have modifiers at the end of the statement:
EXPR if CONDITION; - EXPR will be evaluated only if CONDITION is evaluated to TRUE.
EXPR unless CONDITION; - EXPR will be evaluated only if CONDITION is evaluated to FALSE.
EXPR while CONDITION; - EXPR will be evaluated multiple times until CONDITION is evaluated to FALSE.
EXPR until CONDITION; - EXPR will be evaluated multiple times until CONDITION is evaluated to TRUE.
EXPR foreach LIST; - EXPR will be evaluated multiple times by iterating all elements in the LIST.
Here is a Perl tutorial script on simple statements with expressions and statement modifiers:
#- ExpressionStatement.pl
#- Copyright (c) 1995 by Dr. Herong Yang, http://www.herongyang.com/
#
9.99; # A scalar value
"Hello "."Herong"; # A concatenation operation
$i--; # A decrement operation
print($i, "\n");
$price=0.99; # An assignment operation
print($price, "\n");
$item="Shipping", $price=9.99; # Two assignment operations
print($item, $price, "\n");
@list = ($item="Book", $price=99.99);
print(@list, "\n"); # Three assignment operations
print($item, $price, "\n");
$author = "Herong" unless ($author);
print($author, "\n"); # unless modifier
$price = "Free" if ($author eq "Herong");
print($price, "\n"); # if modifier
$i = 0;
$i++ while ($i < 100); # while modifier
print($i, "\n");
$s = ":";
$s .= $_.":" foreach (split(//,"Herong"));
print($s, "\n"); # foreach modifier