Found out what I was doing wrong - but there are a couple of small improvements that Net::LDAP could use

Howard Wilkinson <[email protected]> Wed, 20 Jun 2012 12:06:41 +0100
Newsgroups gmane.comp.lang.perl.modules.ldap
Message-ID <[email protected]>
Graham,

sorted out why I could not see what was going wrong. I had assumed the
callback received a Net::LDAP::Entry or undefined. Doh!

However, the DESTROY is still being called and killing the error
messages - so this could do with being added to the package.

--- LDAP.pm~	2012-06-20 12:02:36.000000000 +0100
+++ LDAP.pm	2012-06-20 12:03:01.000000000 +0100
@@ -902,6 +902,7 @@

  if (my $msgs = delete $self->{net_ldap_mesg}) {
    foreach my $mesg (values %$msgs) {
+      next unless (defined $mesg);
      $mesg->set_error($err, $etxt);
    }
  }

Also, the following patch is needed to fix a warning which points at a
bug.

--- LDAP/Intermediate/SyncInfo.pm~	2012-01-29 09:31:37.000000000 +0000
+++ LDAP/Intermediate/SyncInfo.pm	2012-06-20 12:00:27.000000000 +0100
@@ -56,9 +56,9 @@

sub newcookie {
  my $self = shift;
-  @_ ? ($self->{asn}{newcookie}=shift)
-     : $self->{asn}{newcookie};
-  $self->{asn}{cookie};
+  return (@_
+	  ? ($self->{asn}{newcookie}=shift)
+	  : $self->{asn}{newcookie});
}

sub responseValue {


Howard.