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ではこの使い分けを間違えないようにします。
繰り返しで集計する
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 / 平均: 75forとforeachは同じ構文として使えます。lastはループ終了、nextは次の反復へ進むための命令です。
サブルーチンを作る
関数に分ける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) = @_で受け取ります。入力値が数値か、税率の範囲は正しいかを必要に応じて確認します。
練習
点数の配列から最高点、最低点、平均点を求めるサブルーチンを作ってください。空の配列を渡した場合の扱いも設計しましょう。