perl grep在条件语句中使用遇到的问题

perl grep在条件语句中使用遇到的问题,第1张

概述我们在处理数据时,经常会遇到,在一个列表中过滤出不符合某一条件的内容,并组成新的列表。 比如 @array = ("a", "null", "c", "d"); 这时候用grep实现如下: my @newArray = grep { $_ ne "null"} @array; 但是如果放在条件语句中就会有问题。 @array_tmp = ( "a", "b", "c");for my $tmp

我们在处理数据时,经常会遇到,在一个列表中过滤出不符合某一条件的内容,并组成新的列表。

比如 @array = ("a","null","c","d");

这时候用grep实现如下:

my @newArray = grep { $_ ne "null"} @array;

但是如果放在条件语句中就会有问题。

@array_tmp = ( "a","b","c");for my $tmp (@array_tmp){  if ( grep { $_ ne $tmp } @array ){    print "success";  }  else  {    print "Failed";  }}

最后过滤的结果始终都是Failed。

对于这种判断,我们应该在grep 中使用 eq , == 来判断, 然后对结果取反。

@array_tmp = ( "a","c");for my $tmp (@array_tmp){  if (! grep { $_ eq $tmp } @array ){    print "success";  }  else  {    print "Failed";  }}
总结

以上是内存溢出为你收集整理的perl grep在条件语句中使用遇到的问题全部内容,希望文章能够帮你解决perl grep在条件语句中使用遇到的问题所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1291648.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-10
下一篇2022-06-10

发表评论

登录后才能评论

评论列表(0条)

    保存