sub subtract { my ($whole_ref, $banned_ref) = @_; my %is_banned = map { $_ => 1 } @$banned_ref; return grep { ! $is_banned{$_} } @$whole_ref; } my @surviving = subtract([qw(fetch forward user smtp)], [qw(user smtp)]);