c=org co=MyCompany cn=Users cn=Mickey Mouse id456 cn=Donald Duck id123 cn=Tim Towdi id111 #### x) cn=Donald Duck id123,cn=Users,co=MyCompany,c=org x) cn=Mickey Mouse id456 ,cn=Users,co=MyCompany,c=org #### use Net::LDAP; my $ldap = Net::LDAP->new($ldapServer) or die "Error: $@"; my $result = $ldap->bind(); # anonymous bind first die ("Error in bind: ", $result->error) if $result->code; $result = $ldap->search ( base => 'cn=Users,co=MyCompany,c=org', filter => "(&(sn=$surname)(givenName=$givenName))", # & is for an AND scope => 'sub', # start from base and search to the bottom attributes => [] ); die ("Error in search: ", $result->error) if $result->code; foreach my $entry ($result->entries) { print "DN: ", $entry->dn(), "\n"; } } $ldap->unbind(); #### use Net::LDAP; my $ldap = Net::LDAP->new($ldapServer) or die "Error: $@"; my $success = $ldap->bind($dn, -password => $userPassword); if ($success->code) { print "Error\n"; } else { print "Ok\n"; $ldap->unbind(); } #### perldoc Net::LDAP::FAQ perldoc Net::LDAP::Examples