Perlの条件分岐には、条件にマッチしない場合のみ(条件が偽の場合に)処理を行うunless文と条件に応じて(条件が真の場合に)処理を分岐するif...elsif...else文があり、何れもCのように後置式とすることも可能です。
これは、if文とは逆、つまり、if文で!を付加して条件を否定する場合と同等です。
unless文で括られた処理は、条件が偽の場合に実行されます。
$condition="";
unless ($condition ) {
print "Hello World!\n";
}
一行で記述することもできます。
unless ($condition ) { print "Hello World!\n";}
if文同様、後置する場合のみ波カッコ{ }を省略可能です。
print "Hello World!\n" unless ($condition ) ;
また、前置式でも後置式でも丸カッコ( )を省略できるので下記のようにコーディングすることもできます。
print "Hello World!\n" unless $condition ;
unless文の条件判定はif文とちょうど真逆になります。
if ( ! $condition ) { print "Hello World!\n"; }
print "Hello World!\n" if ( ! $condition );
print "Hello World!\n" if ! $condition ;