美文网首页Perl小推车Perl语言学习
Perl语言学习(四)Perl控制结构

Perl语言学习(四)Perl控制结构

作者: Davey1220 | 来源:发表于2018-11-13 14:46 被阅读23次

四、Perl控制结构

1、if控制结构

  • 控制结构是逻辑实现的基石

  • 三种基本的控制结构

image.png
  • if结构是程序最基本的控制结构

    • 语法:

      • if(条件) 执行语句;

      • if(条件) { 执行语句一; 执行语句二;}

      • 执行语句 if(条件)

      • if(条件一) {执行语句;} elsif(条件二) {执行语句;} else{......}

    • 书写格式:尽量使用左边这种格式

    image.png
    • unless结构

      • unless结构是if结构的反义结构,用法同if类似

      • unless在条件为假时,执行相应的语句

      • unless(条件) 执行语句;

2、foreach 控制结构

  • for控制结构

    • 当算法的操作对象是一个数组或散列时,利用控制结构来读取数组或散列中的元素

    • 语法:for(初始化式; 条件; 表达式) { 执行语句;}

    • 执行过程:执行初始化式,判断条件,表达式求值,重复第二步和第三步,直到第二步的表达式为假

      my @array = (1,2,3..50,60,43,32,82..99);
      my $length_array = @array;
      for(my $i=0;$i<$length_array;$i++)
      {
            if($array[$i]>60)
            {
                  printf"item $i, value is:$array[$i]\n";
            }
      }
    
    • for循环中断、跳出的控制,使用next和last

      • next:跳至本次循环的结束位置,开始下一次循环

      • last:跳至循环的最后位置,结束循环

  • foreach控制结构

    • for循环结构的一种变体

    • foreach循环逐个遍历列表中的值,依次迭代循环过程

    • 语法:foreach 变量(列表){ 执行语句; }

    my @array = (1,2,3..50,55,60,43,82..99);
    foreach my $item (@array)
    {
           if($item > 60)
           {
                 printf("$item\n");
           }
           $item = 150;
    }  ​
    printf"wtire's result\n";   ​
    foreach my $item (@array)
    {
           printf("$item\n");
    }
    
    • 默认变量的使用

      • $_会取得perl中的默认变量
    • foreach取得元素并非按照先后顺序,而是随机取的

    • 可以使用sort来对元素进行排序然后取出

      • sort{$a <=> $b} @array; ##按照从小到大进行排序,array都是数字

      • sort{$a cmp $b} @array; ##按照从小到大进行排序,array都是字母

    • next, last来对循环进行特定控制

    • 在perl中,对于for和foreach,一般大多使用foreach

3、其他控制结构

  • while控制结构

    • 语法:while(条件) {执行语句;}

    • 条件返回值为真时,执行语句,否则退出循环

    • 一般有三种方法控制循环:

      • 计数控制:循环执行的次数是预先设定好的,依据所记录的次数对循环进行控制

      • 特殊值控制:通过对某特殊值进行判断,来决定程序是否执行

      • 用户交互式控制:通过显性询问用户的意见来判断是否执行程序

    • 使用last跳出当前循环

  • until控制结构

    • until结构和while结构相反,当条件返回值为假时才执行循环内的代码

    • 语法:until(条件) { 执行语句;}

    • until和continue一起使用,构建完备逻辑

      • 语法:until(条件) {执行语句;} continue {执行语句;}
       until (-e "test.txt")
       {
              printf"begin to sleep\n";
              sleep(1);
       }
       continue
       {
              printf"waiting for update\n";
       }
       ```
      
  • switch控制结构

    • Perl的源码中并不支持switch结构

    • 对条件进行判断,根据选择值进行相应的代码

    • 语法:switch(条件) case 条件值1: 执行语句; case 条件值2: 执行语句; default: 执行语句

相关文章

  • Perl语言学习(四)Perl控制结构

    四、Perl控制结构 1、if控制结构 控制结构是逻辑实现的基石 三种基本的控制结构 if结构是程序最基本的控制结...

  • Perl基础系列合集

    ​Perl学习01之标量数据 Perl学习02数组和哈希使用 Perl学习03之流程控制结构 Perl学习04之I...

  • 【perl】控制结构——if控制结构

    if结构的语法 语法 单条件 if(条件)执行语句; if(条件){  执行语句1;  执行语句2;} 执行语句 ...

  • perl包的安装

    没有学习过perl语言,但是某些程序需要使用perl,就总结perl的一些包的安装方法在cpan https://...

  • 【perl】foreach控制结构

    操作对象:一个数组或散列 作用:利用控制结构读取数组或散列中的元素 for控制结构 语法for(初始化式;条件;表...

  • 【perl】其他控制结构

    一、while控制结构 语法:while(条件){执行语句;} 循环的跳出:使用last示例 二、until控制结...

  • Perl6 的特别之处

    Perl6 是 Perl 语言社区开发的新的编程语言。它和 Perl5 不兼容。 所有的编程语言都会经历一个成长过...

  • 生信软件安装之Perl

    Perl是一门解释性语言 Perl的包管理工具:cpan,cpam Perl的手动安装方法 装Perl模块有两种方...

  • Perl 6 控制流:Control Flow

    一说到Perl 6,就得和Perl 5比较,Perl 5 在 feature 中加入了switch等方便的控制流,...

  • perl中的循环控制结构

    摘自:Perl 语言入门(Learning Perl)last: 终止循环的执行,结束了!类似C语言中的bre...

网友评论

    本文标题:Perl语言学习(四)Perl控制结构

    本文链接:https://www.haomeiwen.com/subject/egflfqtx.html