Perlのwhile文とdo...while文のサンプルです。条件で処理の繰り返しを制御します。
目次
while文 | while文 |
while文でlastを使用する | |
while文でnextを使用する | |
do...while文 | do...while文 |
do...while文でlastを使用する | |
do...while文でnextを使用する | |
演算子 | 比較演算子 |
while文
while(条件){ 実行される処理 } |
- 条件がtrueの間、処理を繰り返します。
- 条件がfalseの場合、ループ処理を終了します。
- 最初の条件の判定でfalseの場合、ループは1回も実行されません。
- 処理に、条件をfalseにするロジックがないと無限ループになるので注意が必要です。
while文のサンプルです。
#! /usr/bin/perl
use strict;
use warnings;
my $i = 0;
while ($i < 5) {
print $i; # 0 1 2 3 4が出力される
$i++;
}
7行目は値が5より小さい間、処理を繰り返します。
while文でlastを使用する
while文でlastを使用するサンプルです。lastは、Javaのbreakにあたります。
#! /usr/bin/perl
use strict;
use warnings;
my $i = 0;
while (1) {
if ($i == 3) {
last;
}
print $i; # 0 1 2が出力される
$i++;
}
9行目のlastは、7~13行目のwhile文を抜けます。
7行目は、条件をtrueにしています。lastがないと無限ループになるので注意して下さい。
while文でnextを使用する
while文でnextを使用するサンプルです。nextは、Javaのcontinueにあたります。
#! /usr/bin/perl
use strict;
use warnings;
my $i = 0;
while ($i < 5) {
if ($i == 3) {
$i++;
next;
}
print $i; # 0 1 2 4が出力される
$i++;
}
10行目のnextは、次は7行目を実行します。そのため12行目は実行されません。
do...while文
do { 実行される処理 } while (条件); |
- 条件がtrueの間、処理を繰り返します。
- 条件がfalseの場合、ループ処理を終了します。
- 必ず1回は処理が実行されます。
- 処理に、条件をfalseにするロジックがないと無限ループになるので注意が必要です。
do...while文のサンプルです。
#! /usr/bin/perl
use strict;
use warnings;
my $i = 0;
do{
print $i; # 0 1 2 3 4が出力される
$i++;
}while ($i < 5)
10行目は値が5より小さい間、処理を繰り返します。
do...while文でlastを使用する
do...while文でlastを使用するサンプルです。
#! /usr/bin/perl
use strict;
use warnings;
my $i = 0;
do{
if ($i == 5) {
last;
}
print $i; #0 1 2 3 4が出力される
$i++;
}while (1)
9行目のlastは、7~13行目のdo...while文を抜けます。
13行目は、条件をtrueにしています。lastがないと無限ループになるので注意して下さい。
注意:実行できますが以下の警告が出ます。
Can't "last" outside a loop block at test1.pl line 9.
do...while文でnextを使用する
do...while文でnextを使用するサンプルです。
#! /usr/bin/perl
use strict;
use warnings;
my $i = 0;
do{
if ($i == 3) {
$i++;
next;
}
print $i; # 0 1 2が出力される
$i++;
}while ($i < 5)
10行目のnextは、想定の動きになりません。nextでループを抜けてしまっています。
注意:実行できますが以下の警告が出ます。
Can't "next" outside a loop block at test1.pl line 10.
比較演算子
上記コードの<は比較演算子です。
以下は、数値の比較演算子の一覧です。
Perlに===はありません。
比較演算子 | 説明 |
---|---|
a == b | aとbの値は等しい |
a != b | aとbの値は等しくない |
a > b | aはbより大きい |
a >= b | aはbより大きい または 等しい |
a < b | aはbより小さい |
a <= b | aはbより小さい または 等しい |
関連の記事