Perl中如何使用流程控制语句

发布时间:2021-06-23 14:43:45 作者:Leah
来源:亿速云 阅读:154

Perl中如何使用流程控制语句,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Perl流程控制语句

条件选择语句1

if(条件表达式){
语句块1;
}else{
语句块2;
}

条件选择语句2

unless(判别运算式)
{
语句2;
}else{
语句1;
}

if条件语句嵌套

if(条件表达式1)
{
语句1
}elsif(条件表达式2){
语句2
}elsif(条件表达式3){
语句3
}else{
语句4
}

例:

#!/usr/bin/Perl-w  print"input?\n";  $name=<STDIN>;  chop($name);  if($nameeq"bo")  {  print"mynameis$name\n";  }elsif($nameeq"ji"){  print"mylastnameis$name\n";  }elsif($nameeq"liu"){  print"myfirstnameis$name\n";  }else{  print"unkonw------!!!!!!!!!!\n";  }

灵活使用Perl

条件表达式&&语句块

这的确是个逻辑与操作,若条件表达式为“真”,要根据后面语句块的执行结果才能判断整个逻辑与操作的结果,这样就会执行后面的语句;而当条件表达式为“假”,则整个表达式为“假”,不用考虑
后面语句块的值。所以为假时的语句块不被执行。

open(FH,">filename")||die"打开文件出错。";
这时整个表达式的含义是:当前面的语句执行结果是“真”时,就不执行后面的语句了;当前面的语句执行出错,结果是“假”时,就执行后面的语句。这里die的含义是输出出错信息。

if语句的简写

[root@test-linuxtmp]#catifp.pl  #!/usr/bin/Perl-w  $i=1;  #if($i<10){  #  #print"$i<10\n";  #  #}  print"$i<10\n"if($i<10);

Perl流程控制语句之for循环

for(初始语句,条件判断语句,循环变量步进速度){
循环体语句
}

[root@test-linuxtmp]#catpfor.pl  #!/usr/bin/Perl-w  for($i=1;$i<10;$i++){  print"$i\n";  }

Perl流程控制语句之while/until循环
while(条件表达式){
循环体语句
}

[root@test-linuxtmp]#catpwhile.pl  #!/usr/bin/Perl-w  $i=1;  while($i<10){  print"$i\n";  $i++;  }   当条件表达式为“假”时,执行循环体语句  until(条件表达式){  循环体语句  }  #!/usr/bin/Perl-w  $i=0;  until($i>10){  print"$i\n";  $i++  }

Perl流程控制语句之do{}while/until循环

do{

}while/until(条件表达式);
do{}while的语意是执行循环体,直到条件表达式为“假”;而do{}until的语意是执行循环体,直到表达条件式为“真”。

Perl流程控制语句之foreach循环

foreach标量(标量)
{
循环体语句
}

[root@test-linuxtmp]#catforeach.pl  #!/usr/bin/Perl-w  @array=(1,2,3,4,5);  foreach$i(@array){  print"$i\n";  }  #!/usr/bin/Perl-w#######有一个默认变量$_  @array=(1,2,3,4,5);  foreach(@array){  print;  }   #!/usr/bin/Perl-w  @array=(1,2,3,4,5);  foreach$_(@array){  print$_;  }

循环体控制next和last等完成。

[root@test-linuxtmp]#catnext.pl  #!/usr/bin/Perl-w  @array=("a","b","c","d","e","f");  foreach(@array){  if($_ge"c"){  last;##跳出循环  }  for($i=1;$i<7;$i++){  if(($i%2)==1){  next;##进行下一次循环  }  print"$_"x"$i";  print"\n";  }  }  print"\nDone!\n";

注:当外层循环变量大于等于“c”时,就跳出外层循环,代码执行完毕:内层循环中,当循环变量是奇数时,就不执行打印操作,而执行下一次循环。这样就是下面的结果。

[root@test-linuxtmp]#./next.pl
aa
aaaa
aaaaaa
bb
bbbb
bbbbbb
Done!

看完上述内容,你们掌握Perl中如何使用流程控制语句的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. Perl 中Hash如何使用
  2. Perl 中substr函数如何使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

perl

上一篇:php中yield的用法

下一篇:html使文本框不可编辑的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》