Chinaunix首页 | 论坛 | 博客
  • 博客访问: 58974
  • 博文数量: 9
  • 博客积分: 209
  • 博客等级: 入伍新兵
  • 技术积分: 117
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-09 18:50
文章分类

全部博文(9)

文章存档

2012年(4)

2011年(5)

我的朋友

分类: PERL

2011-07-25 15:02:37

有的时候往数组里面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
阅读(3048) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~