我有一个名为“lookup”的子程序,它在哈希中查找给定值。我意识到如果我可以要求它不查找给定值,而是查找比作为参数传递的值更小的值,它会更强大。
我可以让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;
}