源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Perl中的控制结构学习笔记

  • 时间:2022-07-12 21:01 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Perl中的控制结构学习笔记
[b]一、语句的种类[/b] 计算机是一种工具,优势在于执行重复任务.循环执行,循环语句。 需要作出大量的判断,按条件执行,条件语句。 顺序语句。 表达式真假值总结 表达式不一定是逻辑表达式,但一定要得出真假值。 假值: 逻辑值为假 值为0 字符串为空 列表为空 undef 其它情况为真值 [b]二、条件语句if[/b] 形式
[u]复制代码[/u] 代码如下:
if(表达式){         空格忽略,断行可以不同                     if(表达式) 语句}               { elsif(表达式){       语句                      }   语句} …. else{    语句 }
说明: (1) elsif和else部分可以省略. (2) 注意elsif关键字. (3) 语句块{}必须有,但可以为空 (4) 可以嵌套. (5) 含义:为真时执行,表达式为执行条件. [b]三、条件语句unless[/b]
[u]复制代码[/u] 代码如下:
unless(表达式){语句}
与if条件含义相反,执行语句除非表达式为真,为真时退出,表达式为退出条件. [b]四、循环语句while[/b]
[u]复制代码[/u] 代码如下:
while(表达式){语句}
(1) 表达式为真时执行,是执行的条件. (2) 必须设置条件有为假的可能,否则无法退出,无限制循环. do{语句}while(表达式) 至少执行一次,先执行一次再判断。 [b]五、循环语句until[/b]
[u]复制代码[/u] 代码如下:
until(表达式){语句}
(1) 与while相反,执行语句,直到表达式为真停止. (2) 为真时停止,表达式为退出条件.
[u]复制代码[/u] 代码如下:
do{语句}until表达式)
至少先执行一次语句,再进行条件判断. [b]六、for循环[/b] for(表达式1;表达式2;表达式3){语句} (1) 表达式1:初始化控制变量或其它变量,只在第一次循环时执行,可以由     逗号分隔给多个变量赋值. (2) 表达式2:每次循环时比较,为真时循环. (3) 表达式3:每次执行完循环后才执行,改变控制变量的值,一般为自增. (4) 三个表达式都可以省略,但两个;必须保留.for(;;) (5) 第一,三表达式都可以使用,执行多个语句。 例如:for($line=<>,$count=1;$count<10;$line=<>,$count++){print $line;} [b]七、foreach语句[/b] foreach $w(列表或数组){语句} (1) ()内为数组@a,或列表(1,2,3) (2) $w可以是新变量,也可以是已使用的变量,在循环结束后变量值恢复. (3) 每次循环把列表或数组中的值依次赋于$w,直到列表为空,可以不必关心数组长度. (4) 若在循环体中修改$w的值,则相应的数据元素值也改变. (5) 当列表中是常量时,$w的值不能修改. (6) $w和@a可以相同,如$a(@a) (7) for和foreach可以互换,通用. foreach的形式 (1) foreach $a(@a){} 一般形式. (2) foreach $a(1,2,3,4){} 列表 (3) foreach $k(keys%h){} 散列形式 (4) foreach $a(@a[1,2,3]){} 只对数组的部分元素 (5) foreach (@a){} 省略循环变量,缺省为$_     $_缺省变量,print为打印$_变量. (6) grep,map函数相当于foreach对每个元素进行操作. [b]八、循环控制[/b]  last:退出循环  next:执行下一循环,循环中next下的语句本次不执行,对于for要执行变量自增.  redo:重新执行本次循环,对于for不执行变量自增,在do语句中无效,不建议使用.  goto:跳转,不能跳转到循环或子程序内,现在结构化编程都不建议使用. [b]九、标记[/b] 标记只能由字母和下划线组成,一般为大写,由:分隔。 标记定义:定义在循环语句前或语句前(goto) 一般用到嵌套循环的内层跳到最外层时,其中last是退出最外层循环,程序继续向下走, 不是跳转到最外层再执行. 例子:
[u]复制代码[/u] 代码如下:
#!/usr/bin/perl print “使用标签:”; LABEL:for($i=1;$i<5;$i++){         for($j=1;$j<5;$j++){              print “$j”;              last LABEL if $i==3;          }         } print “\$i=$i”;
[b]十、continue语句块[/b] continue{语句} (1) 紧跟在循环语句后,在循环体执行完,下一次条件判断之前执行. (2) 也可用于由{}标识的语句块之后. (3) 从last跳出后不执行,但next执行. [b]十一、单行条件语句与循环语句[/b] 条件语句:语句在前,条件在后.print $a if $a==0;但是先测试条件再执行语句. 同理:
[u]复制代码[/u] 代码如下:
unless: print $a unless($a==0); while: print $a while($a–==0);
注意:循环语句不要丢失控制变量,造成死循环. 用||,&&的条件语句:$a==0&&print $a;                   open(F,'file')||die “can't open”; die函数:在控制台标准错误输出信息后退出程序. warn:输出信息后不退出程序,只起警报作用. $!:内部变量包含错误代码. $@:内部变量包含错误信息. [b]十二、小结[/b] 1.条件语句:
[u]复制代码[/u] 代码如下:
if (表达式){语句}   elsif(表达式){语句}   ….   else{语句}
2.单行语句 if(表达式); 3.|| or && and 形式 4.?:形式 5.unless(表达式){语句}   单行语句 unless(表达式); 6.while until循环  while(表达式){语句}  do{语句}while(表达式)  while(表达式){语句}continue{语句}  单行语句 while(表达式)  until(表达式){语句}  do{语句}until(表达式)  until(表达式){语句}continue{语句}  单行语句 until(表达式) 7.for foreach循环  for(表达式1;表达式2;表达式3){语句}  foreach (@a){语句}  foreach $k(keys%hash){语句} 8.循环控制:last,next,redo 9.标记:goto LABEL
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部