Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了regex – Perl:查找变量的值是否与数组中的值匹配大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我是个新手.我有一个代码,其中变量在foreach循环期间加载了几个值.我想要做的是只在该变量中对该变量执行某些操作.在perl中执行此操作的最有效方法是什么,因为我正在处理的数据非常大.

我的问题的一个简单例子是,说我有一系列我想要的水果

@fruits_i_like = qw (mango banana applE);

但是我在foreach循环中有一个$fruit变量,它从一个包含所有不同类型水果的数据文件中获取水果的名称.我如何只挑选@fruits_i_like数组中$fruit的那些案例?

解决方法

您可以使用这样的哈希: @H_935_4@my %h = map {$_ => 1 } @fruits_i_like; if (exists $h{$this_fruit}) { # do stuff }

这是一个比较这种方式与mfontani解决方案的基准

#!/usr/bin/perl 
use warnings;
use Strict;
use Benchmark qw(:all);

my @fruits_i_like = qw/mango banana apple/;
my $this_fruit = 'banana';
my %h = map {$_ => 1 } @fruits_i_like;
my $count = -3;
my $r = cmpthese($count,{
    'grep' => sub {
         if ( scalar grep $this_fruit eq $_,@fruits_i_like ) {
             # do stuff
         }
    },'hash' => sub {
        if (exists $h{$this_fruit}) {
             # do stuff
        }
    },});

输出:

Rate grep hash
grep 1074911/s   -- -76%
hash 4392945/s 309%   --

大佬总结

以上是大佬教程为你收集整理的regex – Perl:查找变量的值是否与数组中的值匹配全部内容,希望文章能够帮你解决regex – Perl:查找变量的值是否与数组中的值匹配所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。