我有一个关键字列表和一个黑名单。我想删除所有包含任何黑名单项的关键字。目前我这样做:
my @keywords = ( 'some good keyword', 'some other good keyword', 'some bad keyword');
my @blacklist = ( 'bad' );
A: for my $keyword ( @keywords ) {
B: for my $bl ( @blacklist ) {
next A if $keyword =~ /$bl/i; # omitting $keyword
}
# some keyword cleaning (for instance: erasing non a-zA-Z0-9 characters, etc)
}
我想知道有没有最快的方法可以做到这一点,因为目前我在黑名单中有大约 2500 万个关键词和几百个词。