码迷,mamicode.com
首页 > 其他好文 > 详细

perl: 控制结构

时间:2015-04-23 17:29:45      阅读:118      评论:0      收藏:0      [点我收藏+]

标签: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: 控制结构

标签:perl   结构   

原文地址:http://blog.csdn.net/wowotouweizi/article/details/45224057

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!