私は指定された値のハッシュでルックアップを行う "lookup"という名前のサブを持っています。 与えられた値ではなく、パラメータとして渡された値よりも小さい値を探すように要求することができれば、はるかに強力なことに気付きました。演算子をPerlサブルーチンに渡すには?
私はlookupbigger、lookupsmall ..などを作ることができましたが、もっと良い方法があると確信しています。
# lookup id according to the search criteria
sub lookup {
my($data, $lk, $lv) = (@_);
my @res;
foreach my $key (keys $data) {
my $value = $$data{$key};
next unless(defined $$value{$lk});
# this is the line where I want to replace eq with another operator
push(@res, $key) if($$value{$lk} eq $lv);
}
return \@res;
}
@TLP質問を実際のコードで更新しました。 – cstamas