This module saved my life. Well, not really. But it was critical to my success in identity management administration. Just had the experience of teaching a junior colleague about this module and its accompanying tools (was there ever a script that could change lives for the better like ldifdiff.pl?). That brought home how apt is the praise for this module given by others here: faithful maintenance, clear documentation, and code that works. Thanks to Graham and the crew for starting this, and to Peter for continuing on. We all owe you big time.
It is one thing to build a perl interface to a database or API, it is another thing to do it well. Doing it well means maintaining your module(s), writing clear documentation, being idiomatic in perl when possible, as well as other things above and beyond programming.
The LDAP::* set of modules fit the criteria of modules that are done well. The documentation is straight forward and the code works. Any idiosyncratic bits should be ascribed to the oddness of LDAP and not these modules.
I managed to get a simple search query up and running quickly. It's a little bit complex (and I do with there were a few more examples and utility routines to do seemingly simple tasks), but that's more do to myself being new to LDAP.