唯一の単純実行文は、副作用を目的として評価される式です。
個
個の単純実行文は、それがブロックの最後の文でなければ、お尻に
セミコロンを付けなくてはなりません。
ブロックの最後の文では、
セミコロンが省略可能です。
(ブロックが複数の行から成るので
あれば、やはりセミコロンは付けた方が良いでしょう。
あとで、
行を増やすこともあるでしょうから。)
eval {} や do {} のよう
に複合文に見える演算子もありますが、これは複合文ではありませ
ん (式の中の「項」でしかありません) し、実行文の最後の項とな
った場合には、明示的にセミコロンが必要です。
どんな単純実行文にも、最後のセミコロン (もしくは、ブロックの
終わり) の直前に 1 つだけ修飾子を付けることができます。
修
飾子としては:
if EXPR
unless EXPR
while EXPR
until EXPR
が使えます。
if 修飾子と unless 修飾子は、英語ができる方なら、期待通りの
意味となります。
while 修飾子と until 修飾子も通常の "while
loop" の意味 (条件が先に評価される) となりますが、do-BLOCK
(と現在は使わないようにしている do-SUBROUTINE 文) に対して使
用すると、条件が評価される前に 1 度だけブロックが実行されま
す。
これは:
do {
$_ = <STDIN>;
...
} until $_ eq ".\n";
のようなループが書けるようにするためです。
perlfunc manpage
を参照してください。
後述するループ制御文は、この構文では使
用できないことにも注意してください。
修飾子にはループラベル
を付けることができないからです。
ごめんなさい。
そういった
ことがしたい場合には、別のブロックを被せてしまうとよいでしょ
う。)