perl-控制结构

控制结构其实没什么好记的,但是perl还是在语法结构上惊艳到我了。

提供了一种称为statement modifier的语法,支持将控制结构放到语句后面。这在控制结构简单的语句上写起来是非常简单,优雅的。

statement if(condition)

1
2
eg:
print('hello joyce') if ($name = 'jc')

if

1
2
3
4
5
6
7
8
9
if(expression){
...
}
elsif(expression){
...
}
else{
...
}

unless

为假则执行

1
2
3
unless(condition){
// code block
}
1
statement unless(condition);

given

匹配给定的值,作用同c语言的switch case

1
2
3
4
5
6
given(expr){
when(expr1){ statement;}
when(expr1){ statement;}
when(expr1){ statement;}

}
1
2
3
4
5
6
7
eg:
given($color){
$code = '#FF0000' when 'RED';
$code = '#00FF00' when 'GREEN';
$code = '#0000FF' when 'BLUE';
default{ $code = '';}
}

breakcontinue控制语法

for和foreach

这两个通用,作用相同

1
2
for (@a) {print $_}
foreach (@a) {....}

这里没有指定迭代器,而是使用了默认的$_

也可指定迭代器

1
for $i (@a){print $i}

也可使用c语言风格的语法

1
2
3
for (initialization; test; step) {
// code block;
}

while

1
2
3
while(condition){
# code block
}

常用于接受用户输入

1
while @parameter = <STDIN>