当前位置: 首页 > news >正文

perl语言中的三目运算符和do代码块

我有这么一个需求,根据学生考试成绩进行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
http://www.hskmm.com/?act=detail&tid=29570

相关文章:

  • CCPC2023女生专场 游记(VP)
  • 2.5 分布式学习(Distributed Learning)
  • 心得:刷算法的痛点-只根据题目的case思考,不考虑边界情况,写出一坨shit
  • OI 数论 1
  • 2.4 DQN 变体(Rainbow)
  • Emacs折腾日记(三十二)——org mode的基本美化
  • 2025 工业风机十大品牌全景解析报告:覆盖离心风机,防爆风机,矿用风机的最新推荐
  • 2.3 深度 Q 网络(Deep Q-Network, DQN)
  • Linux存储媒介devmount
  • Linux系统目录(文件)结构
  • 实用指南:如何读懂Mach-O:构建macOS和iOS应用安全的第一道认知防线
  • vim配置使用
  • shell高级
  • shell流程控制
  • shell展开shell数组
  • shell排错
  • 原木
  • 格式化输出与文本处理
  • 2025年10月镀锌卷板厂家最新推荐排行榜,有花镀锌卷板,无花镀锌卷板,高锌层镀锌卷板,批发镀锌卷板公司推荐
  • React 19.2 重磅更新!这几个新特性终于来了
  • Akka.NET高性能分布式Actor框架完全指南
  • 基于Docker搭建MySQL Cluster
  • 2025 年抗氧剂厂家最新推荐排行榜,聚酯防黄变抗氧剂,透明膜防晶点抗氧剂,PC聚碳防黄变抗氧剂公司推荐!
  • PaddleX服务化部署精度低于命令行调用的原因及解决方案 - 指南
  • 某中心与华盛顿大学公布机器人研究奖项与学者名单
  • 会话跟踪方案
  • 阻塞、非阻塞、同步、异步的区别是什么?
  • 如何防范员工泄露数据给 AI?2025年选型与落地实战版
  • Linux文本编辑三剑客之grep
  • Linux文本编辑三剑客之sed