Compound Statements
A sequence of statements within a scope[69] is called a block. Sometimes the scope is the entire file, such as a
required file or the file
containing your main program. Sometimes the scope is a string being
evaluated with eval. But,
generally, a block is surrounded by braces ({}). When we say scope, we mean any of these
three. When we mean a block with braces, we’ll use the term
BLOCK.
Compound statements are built out of expressions and BLOCKs.
Expressions are built out of terms and operators. In our syntax
descriptions, we’ll use the word EXPR to
indicate a place where you can use any scalar expression. To indicate
an expression evaluated in list context, we’ll say
LIST.
The following statements may be used to control conditional and
repeated execution of BLOCKs. (The
LABEL portion is optional.)
if (EXPR) BLOCK if (EXPR) BLOCK else BLOCK if (EXPR) BLOCK elsif (EXPR) BLOCK ... if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK unless (EXPR) BLOCK unless (EXPR) BLOCK else BLOCK unless (EXPR) BLOCK elsif (EXPR) BLOCK ... unless (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK given (EXPR) BLOCK LABEL while (EXPR) BLOCK LABEL while (EXPR) BLOCK continue BLOCK LABEL until (EXPR) BLOCK LABEL until (EXPR) BLOCK continue BLOCK LABEL for (EXPR; EXPR; EXPR) BLOCK LABEL foreach (LIST) BLOCK LABEL foreach (LIST) BLOCK continue BLOCK LABEL foreach VAR (LIST) BLOCK LABEL foreach VAR (LIST) BLOCK continue BLOCK LABEL BLOCK LABEL BLOCK continue BLOCK
Note that unlike in C and Java, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access