perl系列:控制结构

注意每一条语句使用";"结尾。

1、条件与循环
if () {} else{}
unless () {} else {}    #若假执行
while () {}
until () {}    #若假循环
foreach $a (列表或数组) {}
    每次从列表或数组中取一个元素赋值于$a,直到取完全部元素
    $a仅为临时使用,循环结束后回复原值
    在循环过程中,每次对控制变量的修改,都会修改列表元素本身
    $a可使用默认变量$_代替,例:foreach (@a) {print "$_\n";}
    foreach可简写为for, 例:for (@a) {print "$_\n";}
for (初始值; 条件判断; 变化形式) {}
    当逐次加1或减1时,或逐个遍历列表时,使用foreach形式更简单
    for (1 .. 5) {print $_, "\n";}
    for (reverse(1 .. 5)) {print $_, "\n";}
    for (@a) {print "$_\n";}
last    #跳出当前循环
next    #进行下一次循环
redo    #重新本次循环
标签:使用大写字母标记循环,然后可以使用last、next、redo直接跳转
    LINE: while (<>) {print "$_,\n"; last LINE if $a>0;}

2、条件与循环的简写
当条件或循环的语句块只包含一句话时,可简写为表达式的修饰形式。
    例:print "$_\n" for 1 .. 5;
    控制符左右只能有一个表达式
    先执行右侧,再执行左侧
    右侧无需括号

3、多分支结构
if () {}
    elsif () {}
    elsif () {}
    else {}

4、三目操作符
条件判断? 若真执行: 若假执行;
    $a=<>; $a>3? print "T\n" : print "F\n";

5、逻辑操作符的小技巧
一下小技巧应该可以使用if或unless代替。
&&    #逻辑与,当左侧为真时,才计算右侧
||    #逻辑或,当左侧为假时,才计算右侧
例:
    $a=<>;
    $a>3 && print "T\n";
    $a>3 || die "$!";    #$!后没有\n会自动输出出错行的位置

and和or的意义与&&和||相同,但优先级低,因此更常使用and和or。


你可能感兴趣的:(perl系列:控制结构)