第一二章
一、数字运算操作符
+(加)、-(减)、*(乘)、/(除)、**(乘幂操作符)、%(取余)[也叫取模操作符(%)]
(1)乘幂的基数不能为负,如 (-5) ** 2.5 # error;
(2)乘幂结果不能超出计算机表示的限制,如10 ** 999999 # error
(3)取余的操作数如不是整数,四舍五入成整数后运算;运算符右侧不能为零
二. 字符串操作符
1.句号操作符表示连接
"hello"."world"=="hello world"
2.重复操作符
小写字母:x(将左边的字符串重复多少次的操作符)
5 x 4.8==就是将5重复4次,5555
三. 变量
1.标量变量的特点
(1)使用魔符$开头,
(2)变量的perl标识符:使用字母或下划线开头,后接多个字母、数字或下划线。
(3)perl通过魔符来判断变量的使用用途,$的意思是取“取单个东西”或“取标量”;
(4)给变量取名一定要有一定辨识度,要尽量使用通用的名字。
(5)perl中的变量名字大部分只用全小写。
(6)标量变量的赋值,使用=进行赋值操作
(7)双目赋值操作符
第一种:$fred = $fred + 5;
可以写成 $fred += 5;
第二种:使用字符串操作符"."改进的追加操作符(.=)
在末尾加个空格会这样写,$str = $str." ";
$str .=" ";
(8)标量变量内插(也成为双引号内插)
如果标量变量没有被赋值过,那么使用后会用空字符串代替;
如果单纯打印变量的话,就不用写双引号;
如果变量后面要紧接着输出字母、数字或下划线时,要讲{变量}用花括号圈起来。不然会引起歧义;
用chr()函数将代码点转换成字符;用ord()函数将字符转换成代码点;
操作符的优先级问题要首先参考perlop参考文档进行定夺,另外在写代码的过程中,最好使用括号将确定的操作括起来,方便阅读;
(9)if条件控制结构
条件语句的代码块周围一定要加上花括号来表示界限;
还要注意一定要加上缩排,是代码看起来整洁。
if($name gt 'fred'){
print "'$name' comes after 'fred' in sorted order.\n";
}else{
print "'$name' does not come after 'fred'.\n";
print "Maybe it's the same string,in fact.\n";
}
(10)布尔值
没有专门的布尔值来进行判断,可根据一些规则来判断
第一点:如果是数字,那么返回时数字0是假,其他数字都为真;
第二点:如果是字符串。那么返回空字符串是假,所有其他字符串都为真;
第三点:如果不是数字和字符串,那么就需要先转换成数字和字符串在做判断。
(11)chomp操作符
只作用于单个变量,并且该变量的内容必须是字符串,如果字符串的尾端有换行符时,chomp的作用就是去掉它;
perl的惯例,除非去掉括号会改变内容的原意,不然就不用加括号多此一举;
如果字符串结尾处有两个以上换行符,chomp仅仅删除一个;如果没有换行符,会返回零。
(12)While控制结构
perl也有好几种循环结构,在while的循环体中,只要条件持续为真,那么就会不断执行代码块。
(13)undef值
在变量赋值之前,初始值是undef(未定义)值;
undef是另一种类型的标量值;
(14)defined函数
行输入操作符
二、整数比较操作符
Table 3.1. 整数比较操作符
操作符 描述
< 小于
> 大于
== 等于
<= 小于等于
>= 大于等于
!= 不等于
<=> 比较,返回 1, 0, or -1
操作符<=>结果为:
0 - 两个值相等
1 - 第一个值大
1 - 第二个值大
三、字符串比较操作符
Table 3.2. 字符串比较操作符
操作符 描述
lt 小于
gt 大于
eq 等于
le 小于等于
ge 大于等于
ne 不等于
cmp 比较,返回 1, 0, or -1