zoukankan      html  css  js  c++  java
  • perl next和last

    跳出控制结构:next和last
    
    
    next 和last 操作符运维你在循环中改变程序执行的方向,你可能经常会遇到一些的特殊情况,
    
    碰到这种情况时你希望跳过它,或者像退出循环。
    
    比如当你处理Unix 账号时,你也许希望跳过系统账号(比如root或Ip),
    
    next 操作符允许你将跳至本地循环的结束,
    
    开始下一个循环。
    
    
    而last 操作符允许你跳至整个循环的结束,如果循环条件表达式为假时发生的情况一样。
    
    
    
    next 跳过本地循环,回到循环顶端:
    Vsftp:/data01/mysqllog/binlog# cat a3.pl 
    my @users=qw/root a1 a2 a3 b1 b2 b3 lp c1 c2 c3/;
     foreach $user (@users){
       if ($user eq "root" or $user eq "lp") {next;};
       print "$user is $user
    ";
       }
    Vsftp:/data01/mysqllog/binlog# perl a3.pl 
    $user is a1
    $user is a2
    $user is a3
    $user is b1
    $user is b2
    $user is b3
    $user is c1
    $user is c2
    $user is c3
    
    
    last 退出循环:
    
    Vsftp:/data01/mysqllog/binlog# cat a3.pl 
    my @users=qw/ a1 a2 a3 b1 root b2 b3 lp c1 c2 c3/;
     foreach $user (@users){
       if ($user eq "root" or $user eq "lp") {last;};
       print "$user is $user
    ";
       }
    Vsftp:/data01/mysqllog/binlog# perl a3.pl 
    $user is a1
    $user is a2
    $user is a3
    $user is b1
    
    
    
    例子:next 跳过本次循环
    
    Vsftp:/data01/mysqllog/binlog# cat t2.pl 
    my $str='AAWHEREBBCC';
     if ($str =~ s/WHERE/SET/)
       {print "$str---1 is $str
    "}
    elsif ($str=~ s/SET/SCAN/)
       {print "$str---2 is $str
    ";};
    
    Vsftp:/data01/mysqllog/binlog# perl t2.pl 
    $str---1 is AASETBBCC
    
    
    
    

  • 相关阅读:
    Linux设备模型 学习总结
    平衡二叉树
    数字在排序数组中出现的次数
    两个链表的第一个公共节点
    第一个只出现一次的字符
    丑数
    把数组排成最小的数
    剑指offer 连续子数组的最大和
    查找描述信息中包括robot的电影对应的分类名称以及电影数目,而且还需要该分类对应电影数量>=5部
    for each
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6198927.html
Copyright © 2011-2022 走看看