渡されたデータ構造を真/偽の値に減らす基本的なテストの構造化された入力から coderefs を作成できる既存の CPAN ライブラリはありますか? 渡された属性をコンストラクターから渡されたデータ構造の属性に[attribute => 'something']
マップし(つまり、以下の例$_->{something}
では、渡されたスカラーにマップします)、それらに対してテストを実行できる必要があります。
私は何かを書くことができましたが、CPAN でそれを処理するものが見つからないことに本当に驚いています。この種のことを行うライブラリを知っている人はいますか?
my @def = ( [ [ attribute => 'something' ], '>', 50 ],
'and',
[ [ attribute => 'something_else' ], 'eq', 'match' ],
);
my $coderef = Reducer->new(@def);
my @items = ( { something => 75,
something_else => 'match',
},
{ something => 20,
something_else => 'match',
},
{ something => 75,
something_else => 'no match',
},
{ something => 90,
something_else => 'match',
},
);
for my $item (@items) {
$coderef->($item) ? say 'true' : say 'false';
};
出力:
true
false
false
true