Any simple statement may optionally be followed by a single modifier, just before the terminating semicolon. The possible modifiers are:
if EXPR unless EXPR while EXPR until EXPRThe if and unless modifiers have the expected semantics. The while and until modifiers also have the expected semantics (conditional evaluated first), except when applied to a do-BLOCK or a do-SUBROUTINE command, in which case the block executes once before the conditional is evaluated. This is so that you can write loops like:
do { $_ = <STDIN>; ... } until $_ eq ".\n";(See the do operator below. Note also that the loop control commands described later will NOT work in this construct, since modifiers don't take loop labels. Sorry.)