© 2005 Martin J. Dürst 青山学院大学
# perl program to calculate BMI # input $name = shift; $weight = shift; $height = shift;
# calculation
$bmi = $weight / $height ** 2;
# output
print "$name, your bmi is: $bmi\n",
"for a weight of $weight kg\n",
"and a height of $height m\n";
$変数名 = 値・演算式
と書きます
$変数名だけ書けばよいBMI の値は計算できますが、それによっての区分は判定できない。
BMI の値によって違う処理をしたい。
枝分かれの文が必要。
| 下限 | 上限 | Category | 判定 |
| 18.4 | underweight | 軽すぎ | |
| 18.5 | 24.9 | normal weight | 普通 |
| 25.0 | 29.9 | overweight | 重すぎ |
| 30.0 | obesity | 肥満 |
if 文の構造if 文の例:
if ($bmi < 18.5) {
print "underweight";
}
if 文の基本構造:
if (条件) {
その条件の時の処理
}
if 文の意味{} 内の処理を実行するif 文の次に進む)if 文の書き方{} を付ける{}
内の文を字下げする<, >, <=,
>=, ==, !=
(等しくない)lt, gt, le, ge,
eq, ne0
は偽、他の値は真として扱われている。"")
は偽、文字のある文字列は真かつ: && 又は and:
両方が真でないと条件全体は真にならない。例:
if (18.5 <= $bmi && $bmi < 25) {
print "normal weight";
}
又は: || 又は or:
どちらかが真でしたら条件全体が真。例:
if ($bmi < 18.5 || 25 >= $bmi) {
print "take care of your weight";
}
if 文の拡張:
if-elsif-else 文目的: 複数の選択から一つだけを選ぶ
if-elsif-else 文の構造:
if (条件1) {条件1 の時の処理
条件2
} elsif () {条件2 (かつ条件1 でない) 時の処理
} else{条件1 と条件2 以外の時の処理
}
if-elsif-else
文の例if ($bmi < 18.5) {
$advice = "eat more";
} elsif ($bmi < 25) {
$advice = "keep your weight";
} elsif ($bim < 30) {
$advice = "eat less";
} else {
$advice = "eat much, much less";
}
| 使用料 r (m3/月) | 基本料金 | 単位料金 |
| 0 < r ≤ 20 | 724.50 円 | 130.28 円 |
| 20 < r ≤ 80 | 1,083.60 円 | 112.32 円 |
| 80 < r ≤ 200 | 1,365.00 円 | 108.81 円 |
| 200 < r ≤ 500 | 2,499.00 円 | 103.14 円 |
| 500 < r ≤ 800 | 5,806.50 円 | 96.52 円 |
| 800 < r | 13,786.50 円 | 86.55 円 |