Hey, I've started to work with LDAP in the last few months, and have been banging my head on problems like this for a while now. One tool I found amazingly useful (which helped me write my Net::LDAP code) was the Java LDAP browser. (
http://www.iit.edu/~gawojar/ldap/)
That may help you debug your queries.
The book
_LDAP_System_Administration_ is also quite useful (as much as perldoc Net::LDAP) and has become a part of my Safari bookshelf.
Also, please add some errorchecking (you can do this on the bind too):
die $result->error if $result->code;
Maybe that will help debugging it? I also like the following shell command:
ldapadd -x -D cn=mycn -w mypassword < myldiffile.ldif
Good luck!
Rohit