加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl系列:控制结构

发布时间:2020-12-15 21:01:03 所属栏目:大数据 来源:网络整理
导读:注意每一条语句使用";"结尾。 1、条件与循环 if () {} else{} unless () {} else {}??? #若假执行 while () {} until () {}??? #若假循环 foreach $a (列表或数组) {} ??? 每次从列表或数组中取一个元素赋值于$a,直到取完全部元素 ??? $a仅为临时使用,循环

注意每一条语句使用";"结尾。

1、条件与循环
if () {} else{}
unless () {} else {}??? #若假执行
while () {}
until () {}??? #若假循环
foreach $a (列表或数组) {}
??? 每次从列表或数组中取一个元素赋值于$a,直到取完全部元素
??? $a仅为临时使用,循环结束后回复原值
??? 在循环过程中,每次对控制变量的修改,都会修改列表元素本身
??? $a可使用默认变量$_代替,例:foreach (@a) {print "$_n";}
??? foreach可简写为for, 例:for (@a) {print "$_n";}
for (初始值; 条件判断; 变化形式) {}
??? 当逐次加1或减1时,或逐个遍历列表时,使用foreach形式更简单
??? for (1 .. 5) {print $_,"n";}
????for (reverse(1 .. 5)) {print $_,"n";}
????for (@a) {print "$_n";}
last??? #跳出当前循环
next??? #进行下一次循环
redo??? #重新本次循环
标签:使用大写字母标记循环,然后可以使用last、next、redo直接跳转
??? LINE: while (<>) {print "$_,n"; last LINE if $a>0;}

2、条件与循环的简写
当条件或循环的语句块只包含一句话时,可简写为表达式的修饰形式。
??? 例:print "$_n" for 1 .. 5;
??? 控制符左右只能有一个表达式
??? 先执行右侧,再执行左侧
??? 右侧无需括号

3、多分支结构
if () {}
??? elsif () {}
??? elsif () {}
??? else {}

4、三目操作符
条件判断? 若真执行: 若假执行;
??? $a=<>; $a>3? print "Tn" : print "Fn";

5、逻辑操作符的小技巧
一下小技巧应该可以使用if或unless代替。
&&??? #逻辑与,当左侧为真时,才计算右侧
||??? #逻辑或,当左侧为假时,才计算右侧
例:
??? $a=<>;
????$a>3 && print "Tn";
??? $a>3 || die "$!";??? #$!后没有n会自动输出出错行的位置

and和or的意义与&&和||相同,但优先级低,因此更常使用and和or。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读