上一篇:perl-数据类型
下一篇:函数与面向对象
运算符
与其他脚本语言操作类似,按照以下分类来看:
- 算术运算(用于数字标量,加减乘除余以及乘方),
+
,-
,*
,/
,%
,**
, - 赋值运算,
=
,+=
,-=
,*=
,/=
,%=
,**=
(带算术运算的,表示先进行算术运算,再赋值) - 自增与自减,
++
,--
- 按位运算(参考下硬件语言),
&
,|
,^
,~
,<<
,>>
- 关系运算,1.
==
,eq
, 2.!=
,ne
, 3.>
,gt
, 4.<
,lt
, 5.>=
, 6.ge
,<=
,le
(采用运算符或字符串表示都可以) - 逻辑运算,1.
&&
,and
,2.||
,or
,3.!
,not
- 引号运算,
perl
中的运算符有几个引用,如q{}
,qq{}
,qw{}
,m{}
,qr{}
,s{}{}
,tr{}{}
,y{}{}
。但是经常只使用其中两个:q{}
为字符串添加单引号,qq{}
为字符串添加双引号。q{Welcome to beginnersbook} 会返回'Welcome to beginnersbook' qq{Welcome to beginnersbook} 会返回"Welcome to beginnersbook"
条件表达
记录下常用的条件表达式,都比较简单:
-
if
语句,条件为真时执行if(condition) { Statement(s); }
-
if-else
语句if(condition) { Statement(s); } else { Statement(s); }
-
if-elsif-else
语句if(condition_1) { statement(s); } elsif(condition_2) { statement(s); } else { statement(s); }
-
unless
语句 – 这与if
语句的行为正好相反。当指定条件返回false
时,将执行unless
内的此语句unless(condition) { statement(s); }
-
unless-else
语句,与unless-elsif-else
语句类似unless(condition_1) { #These statements would execute #if the condition is false. statement(s); } elsif(condition_2){ #if the condition is false. statement(s); } else { #These statements would execute #if the condition is true. statement(s); }
循环
循环也是比较常见的,格式如下:
-
for
循环for(initialization; condition ; increment/decrement) { statement(s); } # 示例 for( $num = 0; $num < 100; $num = $num + 1 ){ print "$num\n"; }
-
while
循环while(condition) { statement(s); } # 示例 $num = 100; while( $num > 95 ){ printf "$num\n"; $num--; }
-
do-while
循环do {statement(s);} while(condition); # 示例 $num = 90; do{ $num++; printf "$num\n"; }while( $num < 100 );
-
foreach
循环,特别用于循环数组foreach var (list) { statement(s); } # 示例 @friends = ("Ajeet", "Tom", "Steve", "Lisa", "Kev"); foreach $str (@friends){ print "$str\n"; }
-
until
循环,这个不常见,注意until(condition) { statement(s); } # 示例 $num = 10; # 首先评估条件,如果返回false,则循环内的语句被执行。执行后,重新评估条件。这一直持续到条件返回true until( $num >15 ){ printf "$num\n"; $num++; }
结尾
这一章,比较简单,熟悉下就行