perl 5 测试一个变量是否在数组中存在

3086阅读 0评论2011-07-25 ahfyth
分类:PERL

有的时候往数组里面push变量的时候你想知道数组中是否已经有同样值的变量,有的话就不push了
在hash里面直接用exists就行了,而且时间是O(1)的,但是数组就不行了
有很多种方法,包括遍历和grep
但是在Perl 5里面有很简单的写法,就是 ~~ 智慧匹配操作符
(Perl 5.10以上版本支持此操作符,5.8好像不行)
例子

  1. my @t = ("a", "b", "c");

  2. print "Find a\n" if( @t ~~ /a/ );
  3. print "Miss d\n" unless( @t ~~ /d/ );

结果:

Find a
Miss d
上一篇:Android for X86
下一篇:Linux umount : device is busy