条件分岐はif文を用います。
例: $a = 0.5; if ($a > 1) { print 'Wolfgang'; } elsif ($a > 0) { print 'Amadeus'; } else { print 'Mozart'; } 出力結果: Amadeus Cの場合と異なり、必ず{ }が必要なことに注意して下さい。ifと同様unlessも使用できます。
ループ
ループを作るには、whileが使えます。
例: $a = 0; while ($a < 4) { print "count = $a\n"; $a++; } 出力結果: 0 1 2 3
同様にuntilも使用できます。また、ループ制御文last、nextも使用できます。
例: $a = 0; while ($a < 10) { if ($a = 2) { next; } elsif($a == 3) { last; } print "count = $a\n"; $a++; } continue { print "continue = $a\n"; $a++; } print 'finished\n"; 出力結果: count = 0 count = 1 continue = 2 finished nextはcontinueブロックに処理を移すのに対し、lastはcontinueブロックの後に処理を移します。
for文、foreach文
以下に例を示します。
例: for ($i = 0; $i < 3; $i++) { print "count = $i\n"; } 出力結果: count = 0 count = 1 count = 2
例: foreach $i ('Wolfgang', 'Amadeus', 'Mozart') { print "name = $i\n"; } 出力結果: name = Wolfgang name = Amadeus name = Mozart
例: @a = ('Wolfgang', 'Amadeus', 'Mozart'); foreach $i (@a) { print "name = $i\n"; } 出力結果: name = Wolfgang name = Amadeus name = Mozart