比较操作符
perl的比较操作符和bash完全相反。数值比较采用符号,字符串比较采用字母。
数值 字符串 意义
-----------------------------
== eq 相等
!= ne 不等
< lt 小于
> gt 大于
<= le 小于或等于
>= ge 大于或等于
<=> cmp 返回值-1/0/1
最后一个<=>
和cmp
用于比较两边的数值/字符串并返回状态码-1/0/1:
- 小于则返回-1
- 等于则返回0
- 大于则返回1
对于<=>
,如果比较的双方有一方不是数值,该操作符将返回undef。
几个示例:
35 != 30 + 5 # false
35 == 35.0 # true
'35' eq '35.0' # false(str compare)
'fred' lt 'bay' # false
'fred' lt 'free' # true
'red' eq 'red' # true
'red' eq 'Red' # false
' ' gt '' # true
10<=>20 # -1
20<=>20 # 0
30<=>20 # 1