条件分岐は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