了解字串和数值比较间的差异

Perl有两套完全不同的比较操作符,一套是用来做字符串比较的,一套是用来做数值比较的。

字符比较是一个字符一个字符按照字符的值来比较的,并且这个比较过程中区分大小写和空格的,

例如:

'a’ lt 'b'     #true
'a' eq 'A'  #false
'joseph' eq 'joseph ' #false

数值比较操作的使用,和代数里的符号差不多,例如:

0 < 5  #
10 == 10.0 #

为了避免把eq 和 == 搞混,我们使用perl的智能匹配操作符~~来搞定各种比较操作,它会检查符号两边的操作符。

use 5.010;
if (123 ~~ '456')                     #
if ('123' ~~ 123)                     #
if('MImi' ~~ 456)                     #

另外,可能有些诡异的是,如果符号两边都是像数字的字符串,那么智能匹配操作符仍将他们当成字符串进行比较(和使用eq操作的效果一样)

if ('123.0' ~~ '123')   #
use 5.010;
if(('123'+0) ~~ '123.00')      #

转载于:https://www.cnblogs.com/tjxwg/archive/2013/02/16/2913516.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值