我有两个数组@results 和@results2,它们之间有大量数字。例如(12345678 182937439 18329741 等)
在这两个数组中,如果我将它们组合起来,我可能会得到我不想要的重复。我想比较这两个数组,保留唯一值并一个接一个地打印它们。
所以对数组进行重复数据删除。此代码从函数中借用:List::MoreUtils
uniq
sub uniq {
my %seen;
grep { !$seen{$_}++ } @_;
}
my @unique = uniq(@results, @results2);
每当您认为“独特”时,请考虑“哈希”
#!/usr/bin/perl
use strict;
use warnings;
my @a = qw(1 2 3);
my @b = qw(3 4 5);
my %x = map { $_ => 1 } @a, @b;
print join ", ", keys %x; # 4, 1, 3, 2, 5