職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

perlの繰り返し処理

2018年01月09日 | perl
perlの繰り返し処理


【環境条件】
Eclipse 4.4(ルナ)
XAMPP 1.8.3 
Perlは既にXAMPPにインストール

1)while文
書式
while (条件式){
実行する処理1;
実行する処理2;
}

サンプル「while.pl」
use strict;
use warnings;

my $count;

$count = 0;
while ($count < 2){
print "count = $count \n";
$count ++;
}
print "以上です";

結果
count = 0
count = 1
以上です

2)until文
while文が条件式が真の間ブロック内の処理を繰り返すのに対して、until文は条件式が偽の間ブロック内の処理を繰り返すもの

書式
until (条件式){
実行する処理1;
実行する処理2;
}

サンプル「until.pl」
use strict;
use warnings;
my $count;

$count = 0;
until ($count >= 2){
print "count = $count \n";
$count ++;
}

print "以上です";

結果
count = 0
count = 1
以上です

3)for文
指定した回数だけ繰り返す場合
書式
for (初期化; 条件式; インクリメント){
実行する処理1;
実行する処理2;
}
サンプル「for.pl」
use strict;
use warnings;
for (my $count = 0; $count < 5; $count++){
print "count = $count \n";
}

結果
count = 0
count = 1
count = 2
count = 3
count = 4

4)foreach文
foreachは値の集合であるリストを指定すると、リストに含まれる値の数だけ順に繰り返しを行う
書式
foreach 変数 (リスト){
実行する処理1;
実行する処理2;
}
サンプル「foreach.pl」
use strict;
use warnings;
my @fruit = ("りんご", "メロン", "イチゴ");

foreach my $name (@fruit){
print "$name\n";
}
または、
my @fruit = ("りんご", "メロン", "イチゴ");

for my $name (@fruit){
print "$name\n";
}

結果
りんご
メロン
イチゴ

5)last演算子
繰り返し処理が行われている時に強制的に繰り返し処理を終了さあせる
サンプル「last.pl」
use strict;
use warnings;
my $count = 1;

while (1){
print "$count\n";
$count++;

if ($count > 5){
last;←last演算子
}
}
print "終了\n";

結果
1
2
3
4
5
終了

6)next演算子
next演算子はその時実行している繰り返しを最後の位置までスキップさせて次の繰り返しに進みます
サンプル「next.pl」
use strict;
use warnings;
my $count = 0;

while ($count <= 5){
$count++;

if ($count == 2){←2だけ飛ばす
next;
}

print "$count\n";

#next演算子が実行されるとこの位置に進む
}
print "終了\n";
結果
1
3
4
5
6
終了

7)redo演算子
redo演算子はその時の繰り返しを先頭の位置まで戻し改めて繰り返し処理を実行する
サンプル「next.pl」
use strict;
use warnings;
my $count = 0;

while ($count <= 5){
#redo演算子が実行されるとこの位置に進む、この時、$count に1が入る

$count++;

if ($count == 2){
redo;
}

print "$count\n";
}
print "終了\n";
結果
1
3
4
5
6
終了

8)繰り返し処理にラベルを付ける
書式
ラベル: while (条件式){
# 何らかの処理
}

#ラベル
CALC: for (my $i = 1; $i < 10; $i++){
for (my $j = 1; $j < 10; $j++){
my $calc = $i * $j;
print "$i * $j = $calc\n";

last CALC if $calc > 10;
}
}
print "終了\n";
結果
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
終了

8)式修飾子
繰り返し処理においても実行する処理が1つの場合は式修飾子が使用出来る
書式
真の時に実行する処理 while 条件式;
真の時に実行する処理 until 条件式;
実行する処理 foreach 条件式;

サンプルプログラム
my @fruit = ("りんご", "メロン", "イチゴ");
print "$_¥n" foreach @fruit;

または
my @fruit = ("りんご", "メロン", "イチゴ");

foreach (@fruit){
print "$_¥n";
}

結果
りんご
メロン
イチゴ

ジャンル:
ウェブログ
コメント   この記事についてブログを書く
« perlのif文について | トップ | perlのリストと配列 »
最近の画像もっと見る

コメントを投稿

perl」カテゴリの最新記事