Perl ループのネスト
Perl 言語では、ループ内で別のループを使用できます。以下に、この概念を説明するいくつかの例を示します。
構文
ネストされた for ループ文の構文:
for ( init; condition; increment ){
for ( init; condition; increment ){
statement(s);
}
statement(s);
}
ネストされた while ループ文の構文:
while(condition){
while(condition){
statement(s);
}
statement(s);
}
ネストされた do...while ループ文の構文:
do{
statement(s);
do{
statement(s);
}while( condition );
}while( condition );
ネストされた until ループ文の構文:
until(condition){
until(condition){
statement(s);
}
statement(s);
}
ネストされた foreach ループ文の構文:
foreach $a (@listA){
foreach $b (@listB){
statement(s);
}
statement(s);
}
例
#!/usr/bin/perl
$a = 0;
$b = 0;
# 外部ループ
while($a < 3){
$b = 0;
# 内部ループ
while( $b < 3 ){
print "a = $a, b = $b\n";
$b = $b + 1;
}
$a = $a + 1;
print "a = $a\n\n";
}
上記のプログラムを実行すると、出力結果は次のとおりです:
a = 0, b = 0 a = 0, b = 1 a = 0, b = 2 a = 1 a = 1, b = 0 a = 1, b = 1 a = 1, b = 2 a = 2 a = 2, b = 0 a = 2, b = 1 a = 2, b = 2 a = 3その他の拡張
Perl ループ