在上午工作的时候遇到一个问题,有两个列表A和B,分别都是无重复元素的列表。B中的元素A中有可能也包含,现在需要把A,B两个列表都包含的元素从A中删除。查看了一下手册,没有直接这样的函数或者方法,而且perl的列表操作这块提供库函数没有Erlang那么多,这就需要我们自己想办法。
- my %hash;
- grep(!$hash{$_}++, @A);
- while(<@B>){
- # 包含就删除,不包含就不处理
- delete $hash{$_};
- }
- # @A现在就是可以删除的玩家id列表
- @A = keys %hash;