Perl5perlsyn - Perl の構文
[DESCRIPTION][単純実行文][複合実行文]
単純実行文
唯一の単純実行文は、副作用を目的として評価される式です。
個 個の単純実行文は、それがブロックの最後の文でなければ、お尻に セミコロンを付けなくてはなりません。
ブロックの最後の文では、 セミコロンが省略可能です。
(ブロックが複数の行から成るので あれば、やはりセミコロンは付けた方が良いでしょう。
あとで、 行を増やすこともあるでしょうから。)
 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 を参照してください。
後述するループ制御文は、この構文では使 用できないことにも注意してください。
修飾子にはループラベル を付けることができないからです。
ごめんなさい。
そういった ことがしたい場合には、別のブロックを被せてしまうとよいでしょ う。)

出典:Perl manpages Last change: Release 5.0 Patchlevel 00 5