Perl是一种粘性语言,如果你有其他语言的基础的话,你会发现他的流程控制完全和你所知的一模一样。 简单说一下他们的区别: Perl的elsif在其他语言里头可能表示为else if Perl的last,next在其他语言里头可能叫break和continue 不用找了,Perl中没有switch,其实这用if else也是可以实现的,不是么? Perl可能比你知道的语言里头多了这些:条件控制结构unless、循环控制结构until Perl还有一些特殊的写法 还是详细介绍一下Perl的流程控制吧 条件结构 语法: if结构 if(条件){执行内容} if-else结构 if(条件){执行内容}else{执行内容} if-elsif-else结构 if(条件1){执行内容}elsif(条件2){执行内容}else{执行内容} unless结构 unless(条件){执行内容} 说明:unless表示除了满足条件的,其他都可以执行 unless-else结构 unless(条件){执行内容}else{执行内容} 循环结构 语法结构: for循环 for(循环参数初始化;循环终止条件;循环参数累积方式){执行语句} 注意:for循环第一次执行也会进行循环终止条件判断。(你可能知道,但可能有人没注意) While循环 while(循环终止条件){执行语句} Until循环 until(循环终止条件){执行语句} while和until的区别:while当条件返回false时终止循环;until当条件返回true时终止循环; do-while循环 do{执行语句}while(循环终止条件); while/until和do-while区别:while/until如果循环终止条件为false,则一次都不会执行;do-while不管条件,至少会执行一次。 foreach循环 foreach $var (@array){$var} 简单说明$var相当于一个容器,存放数组每一个位置存放的数据。等价于for($flag=0;$flag<@array;$flag++){$var = $array[$flag];} 单行条件/循环结构 说明:如果条件结构或循环结构下只包含一行执行内容,可以采用以下写法;虽然条件判断写在最后面,但是会先执行. if(条件){单行执行语句;}等价于:单行执行语句;if(条件); unless(条件){单行执行语句;}等价于:单行执行语句;unless(条件); until(终止条件){单行执行语句;}等价于:单行执行语句;until(终止条件); while(终止条件){单行执行语句;}等价于:单行执行语句;while(终止条件); 循环控制结构 last;退出当前循环体; next;停止当前执行内容,进入下一次循环

Perl 有goto label;的语法,这种语法让流程控制十分灵活;缺点:让程序较难管理和维护。还是不要用了。 版权声明:本文为博主原创文章,未经博主允许不得转载。 本文已收录于以下专栏:perl学习