由于公司需要,本人最近在学习Perl这种脚本语言,本文是我在学习Perl的过程中总结出来的一些心得和笔记,希望能够帮助也在学习Perl的各位同僚。废话不多说直接上干货!!!
———————————————————————————干货分割线 —————————————————————————
If语句:若if语句块只有一个表达式,可将if写成如下语句:
表达式 if(判断语句);
If(){...}
elsif(){...}
else{...}
exp:
$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。
PS:当$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.