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(表达式) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |