繁体   English   中英

一次在perl数组中使用grep多个模式

[英]grep multiple pattern in perl array at a time

以下是实际上在perl数组中找到模式的代码。

 my $isAvailable = grep { $_->[0] eq '12345' } {$filteredTableEntriesMap{$REPORT_PART1}} ;

但是我想一次在两个索引中搜索两个模式

 my $isWiuAvailable = grep { $_->[0] eq '12345' }     @{$filteredTableEntriesMap{$REPORT_PART1}} ;
 my $isBsAvailable  = grep { $_->[1] eq '6789' } @{$filteredTableEntriesMap{$REPORT_PART1}} ;

这就是地图的表示方式

 $VAR1 = {
      'REPORT PART2' => [],
      'REPORT PART1' => [
                               [
                                 '12345',
                                 '6789',                         
                               ],
                               [
                                 '343435',
                                 '315',
                               ],
                               [
                                 '00103',
                                 '000315',

                               ],
                        ]   

我想匹配一个在索引1和索引2中具有这两个条目的数组

谢谢

您可以将两个条件组合为一个表达式。

my @found = grep { $_->[0] eq '12345' && $_->[1] eq '6789' }
   @{$filteredTableEntriesMap{$REPORT_PART1}};

{}用于grep内容基本上是一个子例程。 如果您想将$_保留在@found结果中,则只要返回一个真值,就可以在其中执行@found

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM