3.条件&循环

 条件

1.if-else

#!/usr/bin/perl -w
use feature qw(say);    #打印内容自动换行,不用手动加"\n"

my $var = <STDIN>;
#if
if($var){
    say $var;
}
#if-else
if($var){
    say $var;
}
else{
    say "input is 0";
}
#if-elsif    注意是elsif,不是elif,sv中也是elsif
if($var > 10){
}
elsif($var > 5){
}
else{
}

2.unless

#!/usr/bin/perl -w

1.unless
unless(boolean_expression){
    #boolean_expression为假时执行的statement
}

2.unless-else    #相当于if(not ...)-else
unless(...){
    ...
}
else{
    ...
}
3.unless-elsif-else    #类似if,略

3.switch

类似于sv中的case语句,需要安装Switch.pm模块,略,具体参考:https://www.runoob.com/perl/perl-switch-statement.html

4.三元运算

Exp1?Exp2:Exp3,和sv中相同。


循环

1.foreach/for

...

foreach $var (@array){
    say $var;    #可省略循环变量$var,使用默认的循环变量$_
}
#下面的for循环等同于上面的foreach循环
for(my $index = 0;$index < @array;$index++){
    say $array[$index];
}

2.while/until/do-while

until相当于while(not ...);do-while是先执行操作,再判断是否继续循环。

默认循环变量$_

循环控制:

1.continue

可与foreach和while结合使用,在每次循环后、再次判断前执行:

...
while($var){
    say $var;
}continue{
    $var--;    #每次say执行后,while再次判断前执行
}

2.next/last/redo

next:结束本次循环,如果有continue,执行continue,否则直接进行下次循环;相当于sv中的continue。

last:结束循环,相当于sv中的break。

redo:重新从循环体第一行开始执行,continue不再执行。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值