Perl Bloom::Filter 模块使用分析
今天看了下当年云舒写的代码,发现一个很陌生的东西,基本上没见过。
gg了一下,了解了该模块是一个大数据处理的模块,简单的来说,该模块的作用是,
用于比较数据是否存在在已知列表中。对于我来说这模块甚至有点难以理解,对此搜索了下前人写的案例进行分析。
把代码整理了下,写了下注释方便以后翻查。
#!/usr/bin/perl use Bloom::Filter; # capacity:设置容器的大小 # error_rate:容错的数量 my $bf=Bloom::Filter->new(capacity => 10,error_rate => .001); # 被对比的列表 my @keys=qw/a s d f g h j k l z/; # 将元素加入到容器 $bf->add(@keys); while(<>){ chomp; # 判断元素是否在容器中 print "Found $_\n" if $bf->check($_); }