Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1446280
  • 博文数量: 239
  • 博客积分: 5909
  • 博客等级: 大校
  • 技术积分: 2715
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-24 20:19
文章分类

全部博文(239)

文章存档

2014年(4)

2013年(22)

2012年(140)

2011年(14)

2010年(59)

我的朋友

分类:

2010-08-03 17:21:55

如果数组是@array类型,则有两种判断方法:
1.循环判断,好处是可以获取该元素的索引。

my @array = qw(var1 var2 var3);
my %pos;
my $index = 0;
map { $pos{$_} = $index++ } @array;


if (exists $pos{var1})
{
warn "yes\n";
}


2.智能匹配判断,好处是代码简洁。

if ($elem ~~ @array)


如果$elem是数值类型的,则使用:

if ($elem + 0 ~~ @array)


实例如下:

my @array = qw(1 2 3 4);
my $elem = "1";
if ($elem + 0 ~~ @array)
{
    print "yes\n";
}


如果数组是%hash类型的话,则更加简单,可以直接使用:

if (exists $hash{$key})


阅读(9265) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2011-08-02 12:00:16

if ($elem ~~ @array) 需要5.10