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:
#- 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
$price=0.99; # An assignment operation
$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
$s = ":";
$s .= $_.":" foreach (split(//,"Herong"));
print($s, "\n"); # foreach modifier
Here is the output of the tutorial script:
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
CGI.pm Module for Building Web Pages
LWP::UserAgent and Web Site Testing
PDF Printing Version