我有一个类似于这个的列表:
my @foo=qw(bar foo fou foobar);
我想获得匹配的数组(例如:与 foo)。我现在使用这个代码:
my $i=0;
foreach (@foo)
{
print "$i\n" if "$_" eq "foo";
$i+=1;
}
返回:
1
这段代码有效,但我想知道是否有更聪明的方法来做到这一点。
您可以使用grep
以下方法执行此操作:
my @foo = qw(bar foo fou foobar);
my @indices = grep { $foo[$_] eq 'foo' } 0 .. $#foo;
# @indices = (1)
这将为您提供所有匹配索引的数组。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句