当前位置: 首页 > 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.gsyq.cn/news/19693.html

相关文章:

  • ll
  • 2.5 分布式学习(Distributed Learning)
  • 11-Redis 集合类型深度指南:从去重特性到集合运算场景落地 - 详解
  • Linux存储媒介devmount
  • 单片机--概述 - 指南
  • Linux系统目录(文件)结构
  • 2025 工业风机十大品牌全景解析报告:覆盖离心风机,防爆风机,矿用风机的最新推荐
  • 详细介绍:P3.7计算机视觉
  • shell排错
  • 格式化输出与文本处理
  • React 19.2 重磅更新!这几个新特性终于来了
  • Akka.NET高性能分布式Actor框架完全指南
  • 基于Docker搭建MySQL Cluster
  • 某中心与华盛顿大学公布机器人研究奖项与学者名单
  • 占位符
  • 什么是IO多路复用?
  • 进程、线程和协程之间的区别和联系
  • 挣点小钱的副业(附带新手教程)0元的快乐
  • 软考~高效的系统规划与管理师考试—知识篇—V2.0—第四章 IT 服务规划设计 — 2017 年 2018 年 2020 年 2022 年 2023 年
  • 应用安全 --- 安卓安全 之 文件校验
  • 2.1 函数逼近(Function Approximation)
  • VSCode code-snippets Note
  • Elasticsearch 备份:snapshot 镜像使用篇
  • 2025 年 10 月金属门窗厂家加盟代理品牌推荐排行榜,行业权威盘点与品质红榜发布
  • 五、指令集架构深入分析
  • ARC 208 Div.2
  • 机器学习学术研讨会柏林举办
  • PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像疑问深度学习优化技术
  • SimAM注意力机制
  • python容器-字符串