我試圖創建一個子程序,它執行以下濾波函數:的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