perl: 控制结构

前端之家收集整理的这篇文章主要介绍了perl: 控制结构前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Perl结构控制语句:

 

if条件语句:

if    (condition) {

    expression;

}    elsif   {

    expression;

} else {

    expression;

}

 

unless条件语句:

条件为假时执行.

unless (condition) {

    expression;

}    elsif   {

    expression;

} else {

    expression;

}

 

while循环语句:

while    (condition){

    expression;

}

 

while(1) {

    …

}   #死循环

 

until循环语句:

条件为假时才执行

until  (condition) {

    expression;

}

 

foreach循环语句:

foreach    $var   (@arry/list){

    expression;

}

$var循环变量并不是对列表元素的复制,而是列表元素本身。

如果在foreach体中修改了循环变量也就是修改了列表中的元素。

$var循环变量在退出foreach循环后恢复原来的值。

 

循环变量可以省略,默认使用   $_   来代替:

foreach     (@arry/list){

    print  “$_”;

}

 

for循环语句:

perl里的for和foreach等价,可以根据条件相互转化。

for  (initialization; condition; increment) {

    expression;

}

 

for(;;) {

    …

}    #死循环

 

裸块:

{

    expression;

}

 

last函数 :跳出循环,相当于c的break。

last    LABEL/EXPR

 

next函数:跳出本次循环,继续下一次循环,相当于c的continue。

next  LABEL/EXPR

 

redo函数:无条件跳转到本次循环的顶端,重新执行本次循环。

redo  LABEL/EXPR

 

given-when控制结构:

given($var) {

    when (condition) { expression }

    …

    default   { expression }

}

 

多个项目的when匹配:

foreach (@arr) {

    when (condition) { expression; continue }

    …

    default { expression}

}

 

break:  跳出given块

 

continue:继续执行下一句

 

条件修饰词:

dosomething    if  condition;

也可以写成:

dosomething

    if  condition;

 

循环里的标签

在for/while等循环关键字前面加上标签可以实现跳转

标签用大写,可以是字母数字和下滑线,但是不能数字开头。

 

eval    EXPR/BLOCK: 捕获错误

特殊变量$@存放错误信息,如果没有触发异常$@为空。

eval    {

    ….

}

if ($@_)  {

    print “An error occurred ($@),continuing\n”;

}

 

evalbytes

goto

return

exit

do

wantarray

dump

caller

"__FILE”,"__LINE__","__PACKAGE__","__SUB__"

猜你在找的Perl相关文章