有的时候往数组里面push变量的时候你想知道数组中是否已经有同样值的变量,有的话就不push了
在hash里面直接用exists就行了,而且时间是O(1)的,但是数组就不行了
有很多种方法,包括遍历和grep
但是在Perl 5里面有很简单的写法,就是 ~~ 智慧匹配操作符
(Perl 5.10以上版本支持此操作符,5.8好像不行)
例子
-
my @t = ("a", "b", "c");
-
-
print "Find a\n" if( @t ~~ /a/ );
-
print "Miss d\n" unless( @t ~~ /d/ );
结果:
Find a
Miss d
阅读(3111) | 评论(0) | 转发(0) |