Chinaunix首页 | 论坛 | 博客
  • 博客访问: 138883
  • 博文数量: 46
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-15 23:00
文章分类

全部博文(46)

文章存档

2018年(18)

2017年(11)

2015年(14)

2014年(3)

我的朋友

分类:

2015-03-22 22:25:28

如果数组是@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})


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