~~ 前面的两个波浪不是表情,他们是perl 5 引入的智能匹配。
用途:
1. 判断hash中是否存在某个值:
%names ~~ /Fred/
hash表names中如果有Fred这个value,上面的表达式返回真值(可用正则表达式)
2. 判断两个数组是否是一样的:
@name1 ~~ @name2
如果两个数组一致,上面的表达式返回真值。
3. 判断某个值是否在数组中
@nums ~~ $result
如果$result在数组@nums中能找到,上面的表达式返回真值。
反过来写 $result ~~ @nums 也是一样意思(~~ 和操作数的顺序无关)。
## 以上内容来源自perl的小骆驼书 Learning Perl ##