(一)操作符
·算术操作符
+ - * / ** %
·整数比较操作符
> >= < <= == != <=>(这个长得很奇怪的叫做比较,如果相等则返回0;如果第一个大,返回1;如果第二个大,返回-1)
·字符串比较操作符
依次比较这两个字符串里的字符,判断他们是否彼此相等或哪一个排在前面。
gt(perl语言的比较运算符,大于等于。用于比较字符串(比较ASCII码))
ge(perl语言的比较运算符,大于等于。用于比较字符串(比较ASCII码))
lt(perl语言的比较运算符,小于。用于比较字符串(比较ASCII码))
le(perl语言的比较运算符,小于等于。用于比较字符串(比较ASCII码))
eq(perl语言的比较运算符,等于。用于比较字符串(比较ASCII码))
ne(perl语言的比较运算符,小于。用于比较字符串(比较ASCII码))
cmp(有点像<=>,如果相等则返回0;如果第一个大,返回1;如果第二个大,返回-1)
·逻辑操作符
①逻辑与 &&或者是and ②逻辑或 ||或者是or ③逻辑非 !或者是not ④逻辑异或 xor
·位操作符
& | ~ ^(位异或) << >>
·赋值操作符
= += -= *= /= **= &= |= ~= ^= <<= >>= .=
·自增自减操作符
++ --
++可以用于字符串,但结尾字符为‘z’ 'Z' '9'时进位
不要使用--,先将字符串转换成数字在进行自减。
·条件操作符 ?: like ($str1==1)?14:8
(二)Undef
变量在首次赋值之前,其值为undef。
undef当成数字使用时,会被视作为0。
undef当成字符串来使用时,会被视作为空串。
undef既不是数字也不是字符串。
有些操作符在参数越界或者不合理的时候,会返回undef。
注意undef是变量值,不可以用它来清空数组。
(三)defined
defined函数是用来判断变量的值是否为undef,是则返回0,不是则返回1。
(四)列表和数组
·如果把标量看作是单数的集合,那么数组和列表则是复数的概念。
列表是变量的有序集合,而数组是存储列表的变量;列表指的是数据,而数组指的是变量;列表的值不一定要放在数组里面,但是数组变量一定包含一个列表(可能是空列表)。
数组和列表中的每一个元素都是独立的标量变量,这些变量都会有相应的整数作为索引索引的值从0开始,依次加1。
(五)列表的定义与初始化
(5,6,7)这就是一个包含5、6、7三个数字的列表。
(1..100)".."是范围操作符
qw符号定义单词列表 。 qw(my name is peter)会将列表中的每一个元素当成单引号中的字符串。
定义单词列表时允许使用任何标点符号作为分隔符 。 qw !i have a lot of money!
(六)数组元素及其索引值
通过数组名加索引值来访问数组元素。 like $array[0] = 'i' $array[1] = 'love' $array[2] = 'you'
名字为arrs的数组第一个索引值为0,最后一个索引值为$#arrs。
和python一样拥有负数索引值 -1、-2、-3
(七)列表的赋值
列表值可以赋给变量①列表赋值中,额外的值会被自动忽略②如果有多余的变量,额外的值会被赋予undef。like ($fred,$bar) = ("haha","lala","none") ($fred,$bar,$wish) = ("haha","lala")
可以用列表对数组进行赋值。like (arrays[0],arrays[1])= qw/array list/
①数组的定义是从@开始的,后面接上数组名字 。like my @arrays = qw/array list/ 或者是 my @arrs = ();表示一个空数组。
(八)数组和列表的操作符
上网上自己找找吧哈哈哈~~~就像是pop\push\shift\unshift