
我们在处理数据时,经常会遇到,在一个列表中过滤出不符合某一条件的内容,并组成新的列表。
比如 @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在条件语句中使用遇到的问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)