加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl 控制结构

发布时间:2020-12-15 23:52:35 所属栏目:大数据 来源:网络整理
导读:if (表达式) { 空格忽略,断行可以不同。语句} if(表达式) {elsif (表达式) { 语句语句} } elsif 和else 部分可以省略。......... 注意elsif 关键字else{ 语句块{} 必须有,但可以为空 可以嵌套语句} 含义 为真时执行,表达式为执行条件foreach 格式:foreach $
if (表达式) {  空格忽略,断行可以不同。
语句}       if(表达式)
          {
elsif (表达式) { 语句
语句}              }
         elsif 和else 部分可以省略。
.........  注意elsif 关键字
else{  语句块{} 必须有,但可以为空
               可以嵌套
语句}  含义 为真时执行,表达式为执行条件


foreach 格式:

foreach $w (列表或数组){语句}

1.()内为数组@a,或列表(1,2,3).

2.$w 可以试新变量,也可以试已使用的变量。在循环结束后变量值恢复

3.每次循环把列表或数组中的值依次赋予$w,直到列表为空。可以不关心数组长度

4.如果在循环体中修改$w的值,则相应的数组元素值也改变。

5.当列表中是常量时,$w的值不能修改



#!/usr/bin/perl
print "$a的值在循环后恢复:";
$a=1;
print $a;
foreach $a (2,3,4) {print $a;}  ##循环列表
print $a;


[oracle@jhoa 11]$ cat 5.pl 
print "n改变循环变量的值引起数组元素值改变:";
@a=(1,3);
print @a;
foreach $c (@a) {$c=4 if $c==2;}
print @a;
[oracle@jhoa 11]$ perl 5.pl 

改变循环变量的值引起数组元素值改变:123143[oracle@jhoa 11]$ 

[oracle@jhoa 11]$ cat 6.pl 
print "n可以循环访问数组的部分元素:";
@a=(1,3);
print @a;
foreach $c (@a[1,2]) {print $c;}
[oracle@jhoa 11]$ perl 6.pl 

可以循环访问数组的部分元素:12323[oracle@jhoa 11]$


循环控制:

last: 退出循环

next:执行下一循环,循环中Next下的语句本地不执行,对于for 要执行变量自增。

redo: 重新执行本次循环,对于for 不执行变量自增。在do语句中无效。

goto:跳转,不能跳转到循环或子程序内,不建议使用。



标记语句块

标记只能由字母和下划线组成,一般为大写,由:分割。

标记定义:定义在循环语句前或语句前(goto),如
while,for

跳转到标记: last|next|redo|goto LABEL;

一般用到嵌套循环的内层跳到最外层时,其中last是退出最外层循环,程序继续向下走,不是跳转到最外层再执行。

OUT:while(){
     while(){ ..last OUT;
             }
}

[oracle@jhoa 11]$ cat 7.pl 
print "使用标签:";
LABEL:for ($i=1;$i<5;$i++){
         for($j=1;$j<5;$j++){
           #print "$j";
       last LABEL if$i==3;
           print "$j";
          }
        }
print "$i=$i";
[oracle@jhoa 11]$ perl 7.pl 
使用标签:12341234$i=3[oracle@jhoa 11]$



单行条件语句与循环语句

条件语句:语句在前,条件在后。 print $a if $a==0;但是先测试条件再执行语句。

同理;
unless: print $a unless($a==0);

while : print $a while($a--==0);
until: print $a until($a--=0);注意循环语句不能丢失控制变量,造成死循环。

用||,&& 的条件语句: $a==0&&print $a;

    open(F,'file') || die "can't open";

die 函数:在控制台标准错误输出信息后退出信息后退出程序。

warn: 输出信息后不退出程序,只起警报作用。

$!: 内部变量包含错误代码。

$@ :内部变量包含错误信息。


总结:

1.if (表达式){语句}
elsif (表达式){语句}
.....
else{语句}


2.单行语句 if(表达式)


3.|| or && and形式

? : 形式

unless(表达式){语句}

单行语句unless(表达式);


while,until 循环

while (表达式){语句}

do{语句}while{表达式}

while(表达式){语句}continue{语句}

单行语句 while(表达式)


until(表达式){语句}

do{语句}until(表达式)

until(表达式){语句}continue{语句}

单行语句 until(表达式)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读