Perl 小骆驼学习笔记 - 10. 其他控制结构

1.unless控制语句

    unless(条件表达式){};

     当条件为假时执行表达语句;

2.伴随unlesselse

     不建议采用,因此不列出。

3. until控制结构

  until(条件表达式){};

    当条件为真时,停止执行;为假时,循环执行。

    注意:先判断表达式里的值后执行循环

4. 表达修饰符:

     在表达式语句后接一个控制其行为的修饰符:

     ex:

      print"$n is a number" if $n<0;

     先执行控制语句,后执行表达式,适用于,unless,until,while,foreach(无法自主选择变量,只能使用$_)。

5.裸块控制语句

      采用{待执行语句},运行时会将其中语句执行一次:

     优点:定义局部变量

6.elsif

if(){} elsif(){}

     对elsif的个数没有限制;

7.自增和自减

    对于标量变量中采用的自增或者自减;

    $m++;表示将$m的值+1;

    这个一般用在哈希创建中:

my @people = qw(a,b,c,d,e);

my %hash;

$hash+{$_}++ foreach(@people);

    这个表示键值分别为a,b,c,d,e值分别为1.2.3.4.5;

    其次,在使用自增或自减赋值时有两种用法:

        $a = $b++;表示先把$b的值给$a,再自增

        $a=++$b;表示先自增,$a=$b+1;

    自减用法相同;

8.for控制语句

for (初始化;测试;递增){程序主体};

任何一部分都不是必须的;

等于

初始化;

while(测试){程序主体;递增};

9. 循环控制

    a. last操作符

        类似于break,当看到last跳出当前循环;

    b. next操作符

        跳过他后面的语句,执行在一次循环;

    ex. 统计单词个数:

while()<>{

    foreach (spilt){

        $total++;
        next if(/\W/);
        $valid++;
        $count{$_}++;#单词为键,数字为值,当           #出现单词时,对应的数字+1,从而统计出字数

    }
}

print"total is $total,valid is $valid";

foreach $word(sort keys %count){
    print "$word is seen $count{$word}";
}

    c. redo操作符

        相当于直接调回当次循环的开始,再次开始循环,但在redo之前执行的语句是有效的。

10. 带标签的块

    采用大写字母,_和数字为循环起一个名字(标签),然后用在last,next,redo后面,比如

LINE: while(){

         ....;  

         last LINE if (条件);

}

11. 条件操作符

    三目操作符:

条件表达式?表达式1:表达式2;

    如果真的话,就执行表达式1,不然执行表达式2!

12. 逻辑操作符

    与&&,或||,逻辑操作符!返回值是布尔值:1或者0.

    或者写成and    or

13.定义或操作符

    //——定义或操作符,用于给变量提供默认值:

    比如:

    my $name = $hash{$hah}//'jim';表示当hah不存在于哈希时候,取后面的jim作为默认值

总结:

    本节描述了新的perl的控制结构,可以在执行过程中丰富脚本组织结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值