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

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:

Table of Contents

 About This Book

 Perl on Linux Systems

 ActivePerl on Windows Systems

 Data Types: Values and Variables

Expressions, Operations and Simple Statements

 What Is an Expression?

 Expression Evaluation Context

Simple Statements and Modifiers

 User Defined Subroutines

 Perl Built-in Debugger

 Name Spaces and Perl Module Files

 Symbolic (or Soft) References

 Hard References - Addresses of Memory Objects

 Objects (or References) and Classes (or Packages)

 Typeglob and Importing Identifiers from Other Packages

 String Built-in Functions and Performance

 File Handles and Data Input/Output

 Open Files in Binary Mode

 Open Directories and Read File Names

 File System Functions and Operations

 Converting Perl Script to Executable Binary

 Using DBM Database Files

 Using MySQL Database Server

 Socket Communication Over the Internet

 XML::Simple Module - XML Parser and Generator

 XML Communication Model

 SOAP::Lite - SOAP Server-Client Communication Module

 Perl Programs as IIS Server CGI Scripts

 CGI (Common Gateway Interface)

 XML-RPC - Remote Procedure Call with XML and HTTP

 RPC::XML - Perl Implementation of XML-RPC

 Integrating Perl with Apache Web Server

 References

 Printable Copy - PDF Version

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