注意每一条语句使用";"结尾。
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 "T\n" : print "F\n";
5、逻辑操作符的小技巧
一下小技巧应该可以使用if或unless代替。
&& #逻辑与,当左侧为真时,才计算右侧
|| #逻辑或,当左侧为假时,才计算右侧
例:
$a=<>;
$a>3 && print "T\n";
$a>3 || die "$!"; #$!后没有\n会自动输出出错行的位置
and和or的意义与&&和||相同,但优先级低,因此更常使用and和or。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。