Thanks for the reply. I'm not an LDAP expert either but this issue is more of a Perl Net::LDAP user than an LDAP expert per se. Unfortunately there are no real world working script examples readily available. The samples that are, show the syntax but not the context, making them pretty much useless to the novice.

The script is not 'die'ing so it never really gets to that point. Whether I use '$!' or '$@' won't matter until I actually get an error condition. It appears that everything is working except the search returns zero entries. Since 'ldapsearch' works it is clearly not a server problem. That leaves only the way I am trying to use Net::LDAP. There does not appear to be any way to cause Net::LDAP to generate informational messages about the dialog that occurs between it and the LDAP server. I don't see any way to debug this.

On Nov 27, 2007, at 3:20 AM, Jeremiah Foster wrote:



-----Original Message-----
From: Jeremiah Foster
Sent: den 27 november 2007 09:20
To: 'Dennis Putnam'
Subject: RE: ldapsearch equivalent with Net::LDAP



I am trying to do the equivalent of this search:

     ldapsearch -x -LLL -b "dc=ldaphost,dc=mydomain,dc=com" uid

Caveat Emptor: I am no LDAP genius.

Here is one of the many variations I tried:

     use strict;
     use Net::LDAP;

     my $ldap=Net::LDAP->new("ldaphost.mydomain.com") or die "$@";

Try replacing $@ with $!. You are using $@ which is the eval error
message, but I don't see where you are using eval. $! will tell you what
went wrong since it is the sys/libcall error message.

     my $mesg=$ldap->bind();

     if ($#ARGV<0) {
             $mesg=$ldap->search(
                     base=>"dc=ldaphost,dc=mydomain,dc=com",
                     attrs=>["uid"]
             );
     print $mesg->entries(),"\n";
     }
     else {
     }
     $ldap->unbind();


I am just starting so my code is incomplete but it should be enough to

get something. However, I get nothing, not even an error. Can someone
see what I am doing wrong? TIA.

See what your code spits out now and diagnose from there. Hopefully that
is a start.

        Jeremiah

Reply via email to