Perl 学习笔记6

控制程序流

本章中将要学习:语句块;运算符;循环;标号;程序执行后退出Perl

一、if语句

if (expressn) BLOCK

if ($r == 5) {

     print 'The value of $r is equal to 5.';

}

只有当表达式是真的时候,表达式后面的语句块才运行;如果表达式不是真,那么else后面的语句块运行。

$r=<STDIN>;chomp $r;

if ($r == 10) {

     print '$r is 10';

} else {

     print '$r is something other than 10....';

     $r=10;

     print '$r has been set to 10';

}

请记住,运算符=用于赋值,而==则用于测试一个等式。

$r=10;

if ($r==10) {

     print '$r is 10!';

} elsif ($r==20) {

     print '$r is 20';

} else {

     print '$r is neither 10 nor 20';

}

==================================================

如果想测试非数字值,可以使用字母关系运算符

eq           $e eq $t        等于

gt            $e gt $t          大于

lt              $e lt $t          小于

ge            $e ge $t         大于等于

le             $e le $t           小于等于

ne            $e ne $t           不等于

=========================================================

逻辑运算符

&&         and       $s &&$t     当都为真,才是真

||              or          $a || $b      当有一个为真,才是真

!           not         !$m           不为真,才为真(求反)

if ($x and $y and not $z) {

       print "All conditions met.\n";

}

运算符|| 和 or 并不完全相同,|| 运行优先级要高于or。也适用于&& /and

=========================================================

二、用while进行循环

当perl遇到while语句时,它就计算该条件。如果条件计算的结果是真,代码就运行。当运行到代码块的结尾时,表达式被重新计算,如果结果仍然是真,代码块重复执行。

$counter=0;

while ($counter < 10) {

        print "Still counting,$counter";

        $counter++;

}

=================================================================

三、使用for循环

for语句是perl循环结构中最复杂和最有用的

for ($a=0;$a<10;$a=$a+2) {

      print "a is now $a\n";

}

在上面的代码中,$a设置为0,执行测试表达式$a<10,发现结果为真。循环的本身输出了一条消息,然后递增语句$a=$a+2开始运行,将$a的值递增2.

=========================================================

明细控制

while ($i<10) {

      last  if  ($i==5);

      $i++;

}

last语句能够在$i的值是5时使while循环退出

next语句使得控制权被重新传递给循环的顶部

for ($i=0;$i<100;$i++) {

        next  if (not $i %2);

        print "An odd number=$i\n";

}

==================================================

退出perl

exit语句是最后的一个流控制工具。当perl遇到exit语句时,程序就停止执行,perl 将一个退出状态返回给操作系统。

if ($user eq 'quit') {

       print  "Good bye\n";

       exit 0;

}

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...