我有这么一个需求,根据学生考试成绩进行ABC划分,比如80分以上为A,60-80分为B,60分一下为C
我们能够相当的最简单的方式就是通过if判断并赋值的方式实现,如下代码:
$ perl -E '
my $a;
my $b=67;
if($b > 80){$a="A";
} elsif ($b > 60 and $b <80 ){$a="B";
} else {$a="C";
}
print $a."\n";'
B
可以通过do代码块来实现上述代码功能
$ perl -E '
> my $b=67;
> my $a = do{if($b > 80){$a="A";}
> elsif ($b > 60 and $b <80 ){$a="B";}
> else { $a="C";}};
> print $a."\n"'
B
我们还可以通过三目运算符的方式来实现,需要注意的是三目运算不仅仅是 expr ? when_true : when_false
perl -E '
my $a;
my $b = 67;
$name = ($b > 80) ? "A" :($b >60 and $b <80) ? "B" :($b < 60) ? "C" : "";
print $name."\n";'
B