Perl语言入门(03 流程控制语句)

2016-09-01 19:26:38来源:CSDN作者:haoweilaizoule人点击

由于公司需要,本人最近在学习Perl这种脚本语言,本文是我在学习Perl的过程中总结出来的一些心得和笔记,希望能够帮助也在学习Perl的各位同僚。废话不多说直接上干货!!!

————————————————— 干货分割线 —————————————————

If语句:若if语句块只有一个表达式,可将if写成如下语句:

表达式 if(判断语句)

If(){}

elsif(){}

else{}

$a = "abc";

$b = "def";

if($a == $b){

print "eques";

}

$ a和$b中存放的两个值实际上是要测试它们之间是否相等。当P e r l期望数字值的时候,如果使用了非数字字符串,那么这些字符串的计算结果将是0。因此,上面这个i f表达式在P e r l看来就像是: i f( 0 == 0)。这个表达式的计算结果是真,所以运行结果并不是你想要的结果。

但是不用担心,只要打开警告开关,控制台就会输出相应的警告信息提醒你。如:

 

如果你想要测试非数字值,你可以使用另一组P e r l运算符,如图:

 

这些运算符通过从左到右观察每个字符,然后按照A S C I I的顺序对它们进行比较,来确定

“大于”和“小于”。这意味着字符串按照升序进行排序,大多数标点符号放在最前面,然后

是数字,接着是大写字母,最后是小写字母。例如, 1 5 0 6大于H a p p y,而H a p p y又大于h a p p y。

 

Last语句:满足条件时能使当前正在运行的最里面的循环块退出。

exp:

while($i < 15){print "$i/n";last if($i == 5);  #last类似于break功能$i++;}

输出结果为:

 

对于结果的解释:结果依次为:空,1,2,3,4,5。当$i等于5时退出while循环。可知$i未定义时其值为undef,作为输出结果时为空.作为数字运算时他的值为0.

Undef:这是一个特殊的值,意为:未定义,任何未设置的变量都为undef,且在函数运行失败时也返回该值。在if语句测试时undef返回假,进行数学运算时他被视为0

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

Exp:

for($i = 0;$i<200;$i ++){      next if(not $i % 2);      print “An odd number = $i/n”;}

输出从0-98之间的所有偶数。

标号:给循环语句加标号,一般为全部字母大写。

Exp

OUTER: while($expr){

         INNER:while($expr){

                             Statement;

                      }

             }

Last,redo,next都可以带有标号,作为参数。这样就可以退出特殊的语句块。

Exp

OUTER:for($i = 0 ;$i < 100;$i ++){                  for($j = 0;$j <100;$j ++){                          if($i * $j == 140){                                 prnt “The product of $i and $j is 140”;                                 last OUTER;                            }                  }         }

这样last语句退出的就是最外层循环了。这个代码只输出他找到的140的第一个因子。

Exit语句:当Perl遇到exit时,程序停止执行,Perl将一个退出状态返回给操作系统。退出状态0意味着一切运行正常。

Exp

if($response eq ‘quit’){            print “Good bye/n”;           exit 0;}

逻辑运算符

 

Perl也遵循短路或原则。运算符优先级:

||  > or ,&& > and ,! > not

Perl运算符不仅返回真假,实际上是返回计算得出的最后值。如:5&&7返回7.


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台