Andre, thanks for testing and confirming the fix. It will be in the next release of Net::LDAP. We added a class method to Net::LDAP::Filter called #from_rfc2254, which takes a standard LDAP filter string and returns a Net::LDAP::Filter object. We may rename it to something more graceful before the release. I'll think about your suggestion that we provide the same functionality as an overload to Net::LDAP::Filter#new. Regarding #search: this method currently does return a full result set (an array of the entries returned by the search) whether or not you provide a block. If you provide a block, then each entry is *also* passed to the block. I think this is the flexibility you were looking for in your question. The reason we provided the :return_result flag to #search is so you can turn off the generation of a result-set array. The flag defaults to true, meaning the default behavior is both to return a result set and to call a user-supplied block (if present) for each result. If you set :return_result to false, then the results will only be passed to your block, and discarded by Net::LDAP after each one is processed. The point of being able to turn off the result set is to save memory when the set is very large. The performance improvement is potentially very large. Thanks again for the testing you did. On 5/15/06, Andre Nathan <andre / digirati.com.br> wrote: > Hello > > Excuse me if this is a dumb question but I searched the docs and > couldn't find a way to do this... Is there any method that converts an > LDAP filter string to a filter object to be used in #search, ie, > something like > > "uid=foo" being understood as Net::LDAP::Filter.eq("uid", "foo") > > ? > > Thanks in advance, > Andre > > > > > > >