我试图创建一个子程序,它执行以下滤波函数:的Perl - 用于数组
- 采用两个数组作为输入(过滤器,基峰)
- 仅输出该做第二阵列的值
@a = (1, 2, 3, 4, 5); @b = (1, 2, 3, 4, 5, 6, 7); Expected output : @c = (6, 7); Called as : filter_list(@filter, @base) ############################################### sub filter_list { my @names = shift; my @arrayout; foreach my $element (@_) { if (!($element ~~ @names)){ push @arrayout, $element; } } return @arrayout }
测试运行:在第一
实施例不存在
@filter = ('Tom', 'John');
@array = ('Tom', 'John', 'Mary');
@array3 = filter_list(@filter,@array);
print @array3;
print "\n";
结果:
JohnJohnMary
谁能帮助?谢谢。
([两个阵列使用Perl的不同]的可能的复制http://stackoverflow.com/questions/2933347/差的两阵列,使用-perl的) – ThisSuitIsBlackNot