Perl Tutorials - Herong's Tutorial Examples
Dr. Herong Yang, Version 5.00

Simple Statements and Modifiers

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

Here is the output of the tutorial script:

-1
0.99
Shipping9.99
Book99.99
Book99.99
Herong
Free
100
:H:e:r:o:n:g:

Sections in This Chapter

What Is an Expression?

Expression Evaluation Context

Simple Statements and Modifiers

Dr. Herong Yang, updated in 2008
Simple Statements and Modifiers