sub create_selector { my ($spec) = @_; my $selector; if ($spec =~ m/^(=|!=|<|>)(.*)/) { my $op = $1; my $method = ...translate $op to a method name... $selector = sub { $_[0]->version->$method($2) } } }