Perl学习笔记(三)
注:学习笔记主要来源于Superor的Perl教程视频,附链接。
第8集:第四章 perl中的控制结构link
第9集:第四章 perl中的控制结构link
表达式真假
- 逻辑值为假
- 值为0 为假
- 字符串或者列表为空 为假
- undef 为假
1.条件语句if-else-elsif
- (perl空格是忽略的)
- else和elsif可以省略
- {}必须有,但是可以为空
2.条件语句unless(表达式){语句}
- 表达式为真时退出
3.循环while(表达式){语句}
- 表达式为真时执行,设置条件有为假的可能否则无法退出;
- do{}while(表达式):至少执行一次
4.循环until(表达式){语句}
- 表达式为真时执行,设置条件有为假的可能否则无法退出;
- do{}until(表达式):至少执行一次
5.循环for(表达式1;表达式2;表达式3){语句}
- 三个表达式都可以省略但是分号保留 for(;;)无限循环
- 第一个第三个表达式可以使用逗号执行多个语句
- for($line=<>,$count=1;$count<10;$line=<>,$count++){print $line;}
6.循环foreach $w(列表或数组){语句}
-
()内为数组@a,或列表(1,2,3)
-
$w可以是新变量,也可以是已经使用的变量,循环结束后变量值恢复
-
如果在循环体中修改$w的值,则相应数组元素值也改变
-
当列表中是常量时,$w的值不能修改
-
$w和@a可以相同,如$a(@a)
-
for和foreach可以互换,通用
-
形式如下:
foreach $a(@a){}一般形式
foreach $a(1,2,3,4){} 列表
foreach $k(keys%h){}散列形式
foreach $a(@a[1,2,3]){}只对数组的部分元素
foreach(){}省略循环变量,缺省为$_
grep,map函数相当于foreach对每个元素进行操作#print "\$a的值在循环后恢复"; $a=1; print $a;#1 foreach