解析Perl控制结构用法

本文和大家重点讨论一下Perl控制结构中的循环结构,主要有while机构,for结构和foreachPerl结构三部分内容,这里向大家做一下详细介绍,希望通过本文的学习大家对Perl控制结构有深刻的理解。

Perl控制结构

先来看看Perl中的循环结构吧。

  1:Perl控制结构之while结构

  while结构在perl中有三种形式。***种形式是这样的:   

 
 
 
  1. #!/user/bin/perl-w
  2.    usestrict;
  3.    {
  4.    my$a=0;
  5.    while(3>$a)
  6.      {
  7.       print$a++;
  8.       print"";
  9.      }
  10.    }

   第二种是定语后置式。呵呵,英文好的觉得很正常了。

 
 
 
  1.  #!/user/bin/perl-w
  2.    usestrict;
  3.    {
  4.    my$a=0;
  5.    print$a++.""while(3>$a);
  6.    }

   第三种是这个样子的,很古怪,真的很古怪。这种用法就是加上一个continue:   

 
 
 
  1. #!/user/bin/perl-w
  2.    usestrict;
  3.    {
  4.    my$a=0;
  5.    while(3>$a)
  6.      {
  7.       print"$a";
  8.      }
  9.    continue
  10.      {
  11.       if($a++>1)print"hello";
  12.      }
  13.    }

   这种结构会在每个while运行了一圈之后运行一遍continue的部分,然后继续进行while循环。

  2:Perl控制结构之for结构

  for结构是各种语言中都有的。perl中的for结构和c语言中的非常相近。下面是一个例子。   

 
 
 
  1. #!/user/bin/perl-w
  2.    usestrict;
  3.    {
  4.    my$a;
  5.    for($a=0;$a<10;$a++)
  6.      {
  7.       print"$a";
  8.      }
  9.    }

 对于数组我们可以这样访问。   

 
 
 
  1. #!/user/bin/perl-w
  2.    usestrict;
  3.    {
  4.    my@a=(1..10);
  5.    my$counter;
  6.    for($counter=0;$counter<@a;$counter++)
  7.      {
  8.       print"$a[$counter]";
  9.      }
  10.    }

   这里面出现了一句$counter<@a,记住,数组在标量情况下即@a返回的是数组的长度,这样就好懂了,是不是?#p#

  3:foreachPerl控制结构

  foreachPerl控制结构很好玩的,在bsh和javascript中有一种for(in)循环和foreach很相象。其他的语言我不熟悉,不知道有没有相近的。foreach的用法可以从下面的例子得知:   

 
 
 
  1. #!/user/bin/perl-w
  2.    usestrict;
  3.    {
  4.    my@a=(1..10);
  5.    my$counter;
  6.    foreach$counter(@a)
  7.      {
  8.       print"$counter";
  9.      }
  10.    }

   这个程序将会把@a数组中所有的元素先逐个引用给$counter,然后把$counter地值打印出来。注意,我这里说得是引用,不是赋值,perl里面的“=”实际上是在进行引用,而不是赋值,这是需要同c严格区分的。下面的例子更加好玩一点,看一看:  

 
 
 
  1.  #!/user/bin/perl-w
  2.    usestrict;
  3.    {
  4.    my@a=(1..10);
  5.    my$counter;
  6.    foreach$counter(@a)
  7.      {
  8.       $counter++;
  9.      }
  10.    print"@a";
  11.    }

   猜一猜将会打印出什么?呵呵,是234567891011。因为,$counter是@a中每个元素的引用,所以$counter++就对@a中每个元素进行了++操作。foreach用在hash中是非常爽的。

一种编程语言中的Perl控制结构是控制程序流程走向的语句和语法,今天先来学学最基本的三个控制If、Unless、Until,呵呵,其实跟其他编程语言中的对应语句的用法没有大的区别,我们就通过几个例子来看一看吧。

  if是各种语言中都有的结构,但是perl的if似乎有点……那个,可称之为“定语后置”。具体来说就是这个样子的   

 
 
 
  1. #!/usr/bin/perl-w
  2.    usestrict;
  3.    {
  4.    my$a=3;
  5.    print"thankgod!"if($a==3);
  6.    }

   当然这是一个很无聊的程序了,但给大家演示了perl中定语是如何后置的。其他地方if的用法同其他语言就没什么区别了。又例如下面的例子   

 
 
 
  1. #!/usr/bin/perl-w
  2.    usestrict;
  3.    {
  4.    my$a;
  5.    for($a=0;$a<10;$a++)
  6.      {
  7.       if($a>5)print"haha";
  8.      }
  9.    }

   有了if就一定会有else,else也没有什么特别的。用法如下:   

 
 
 
  1. #!/usr/bin/perl-w
  2.    usestrict;
  3.    {
  4.    my$a;
  5.    for($a=0;$a<10;$a++)
  6.      {
  7.       if($a>5)print"haha";
  8.       elseprint"lala";
  9.      }
  10.    }

文章标题:解析Perl控制结构用法
转载注明:http://www.shufengxianlan.com/qtweb/news31/417781.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联