• Perl入门(二)Perl的流程控制


    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;的语法,这种语法让流程控制十分灵活;缺点:让程序较难管理和维护。还是不要用了。

  • 相关阅读:
    Luogu-1381 单词背诵
    Luogu-3413 SAC#1
    HBase版本进化史及大版本特性
    scala解析json —— json4s 解析json方法汇总
    sparkSQL获取DataFrame的几种方式
    scala调用系统-scala.sys.process使用
    spark textFile读取多个文件
    CentOS 7 配置SFTP
    spark优化——依赖包传入HDFS_spark.yarn.jar和spark.yarn.archive的使用
    mysqldump备份和恢复
  • 原文地址:https://www.cnblogs.com/ssp2110/p/3797662.html
Copyright © 2020-2023  润新知