Perl

条件分岐・繰り返し・関数

処理を分け、繰り返し、サブルーチンにまとめて再利用します。

Perl入門の講座一覧

01

ifで処理を分ける

合否を判定するPERL
use strict;
use warnings;

my $score = 72;
if ($score >= 80) {
    print "合格(よくできました)\n";
} elsif ($score >= 60) {
    print "合格\n";
} else {
    print "再挑戦\n";
}
実行結果OUTPUT
合格

数値比較は==、文字列比較はeqを使います。Perlではこの使い分けを間違えないようにします。

02

繰り返しで集計する

foreachPERL
use strict;
use warnings;

my @scores = (75, 82, 68);
my $sum = 0;
foreach my $score (@scores) {
    $sum += $score;
}
my $average = $sum / @scores;
print "合計: $sum / 平均: $average\n";
実行結果OUTPUT
合計: 225 / 平均: 75

forとforeachは同じ構文として使えます。lastはループ終了、nextは次の反復へ進むための命令です。

03

サブルーチンを作る

関数に分けるPERL
use strict;
use warnings;

sub tax_included {
    my ($price, $rate) = @_;
    return int($price * (1 + $rate));
}
my $total = tax_included(1000, 0.1);
print "税込価格: ${total}円\n";
実行結果OUTPUT
税込価格: 1100円

サブルーチンの引数は@_に入り、my ($price, $rate) = @_で受け取ります。入力値が数値か、税率の範囲は正しいかを必要に応じて確認します。

04

練習

点数の配列から最高点、最低点、平均点を求めるサブルーチンを作ってください。空の配列を渡した場合の扱いも設計しましょう。