単文のみがその副作用を評価される expression である。 単文はすべてセミコロンで終わらなければならない。 これは C には似ているが、Pascal(そして awk)とは異なる点である。
単文は全て修飾子を一つ、終了を示すセミコロンの直前につけることができる。 以下のものが修飾子として使用可能である。
if EXPR unless EXPR while EXPR until EXPR
if
や unless
修飾子は見掛け通りの意味を持つ。
while
や until
修飾子もまた見掛け通りの意味をもつ
(条件は最初に評価される)が、
do-ブロック または do-サブルーチン コマンドに適用された場合は異なる。
この場合、条件文を評価する前にブロックを一回実行する。
これは次のようなループを書くことを可能にするためである。
do { $_ = <STDIN>; ... } until $_ eq ".\n";
(do
演算子の項を参照。また、この場合は、
ループコントロールコマンドは使えない。なぜなら、
修飾子はループラベルを持つことができないからである。あしからず。)See section do.