#!/usr/bin/perl
# Idiom #280 Filter map
use v5.10;
%m = ( a
=>1, b
=>0, c
=>0, d
=>1, e
=>1, f
=>0);
$predicate = sub { $_[0] }; # test first arg for truth
delete $m{$k} if not $predicate->( $m{$k} ); }
say "$k => $m{$k}";
}
IyEvdXNyL2Jpbi9wZXJsCgojIElkaW9tICMyODAgRmlsdGVyIG1hcAoKdXNlIHY1LjEwOwoKJW0gPSAoIGE9PjEsIGI9PjAsIGM9PjAsIGQ9PjEsIGU9PjEsIGY9PjApOyAKCiRwcmVkaWNhdGUgPSBzdWIgeyAkX1swXSB9OyAgIyB0ZXN0IGZpcnN0IGFyZyBmb3IgdHJ1dGgKCmZvcmVhY2ggJGsgKGtleXMgJW0pIHsKICAgIGRlbGV0ZSAkbXska30gaWYgbm90ICRwcmVkaWNhdGUtPiggJG17JGt9ICk7ICAgICAgICAgICAgCn0KCmZvcmVhY2ggbXkgJGsgKHNvcnQga2V5cyAlbSkgewogICAgc2F5ICIkayA9PiAkbXska30iOwp9