我有两个数组。我需要检查一个元素是否出现在另一个元素中。
有没有比嵌套循环更有效的方法呢?我每个人都有几千个元素,需要经常运行程序。
解决方法
另一种做法是使用
Array::Utils
use Array::Utils qw(:all); my @a = qw( a b c d ); my @b = qw( c d e f ); # symmetric difference my @diff = array_diff(@a,@b); # intersection my @isect = intersect(@a,@b); # unique union my @unique = unique(@a,@b); # check if arrays contain same members if ( !array_diff(@a,@b) ) { # do something } # get items from array @a that are not in array @b my @minus = array_minus( @a,@b );