sub _joiner { my $op = shift; my $filter = shift; while (my $cond = shift) { $filter = "($op $filter $cond)"; } return $filter; } my $filter = AND( "(a=1)", IGNORE( "(b=1)", "(b=2)", ), "(c=1)", );