比较运算符
Perl数值比较、字符串比较使用如下运算符。可见,和Shell的比较方式正好相反:Shell使用符号格式比较字符串,使用字符串格式比较数值。
数值 字符串 意义
-----------------------------
== eq 相等
!= ne 不等
< lt 小于
> gt 大于
<= le 小于或等于
>= ge 大于或等于
<=> cmp 返回值-1/0/1
最后一个<=>
和cmp
用于比较两边的数值或字符串,并根据比较结果返回-1、0或1。对于a <=> b
或a cmp b
:
- a小于b时,返回-1
- a等于b时,返回0
- a大于b时,返回1
对于<=>
,如果比较的双方有一方不是数值,该操作符将返回undef。
几个示例:
35 != 30 + 5 # false
35 == 35.0 # true
'35' eq '35.0' # false(str compare)
'fly' lt 'bly' # false
'fly' lt 'free' # true
'red' eq 'red' # true
'red' eq 'Red' # false
' ' gt '' # true,空格大于空串
10<=>20 # -1
20<=>20 # 0
30<=>20 # 1