Re: Creating an entry to add or modify values

Dmitry Katsubo <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.ldap
Message-ID <[email protected]>
Hi all!

After some playing with the module I've found out, that the type of the
entity should be defined _before_ you are going to add or replace
something in it. That should be mentioned in Net::LDAP::Entry pod, I
think. So, if you do:

my $entry = Net::LDAP::Entry->new('DN');
$entry->add('givenName' => $1);
$entry->changetype('modify')->update($ldap);

It will not work (will simply do nothing). Instead one should write:

my $entry = Net::LDAP::Entry->new('DN');
$entry->changetype('modify');
$entry->add('givenName' => $1);
$entry->update($ldap);

So, if one want the entry to be OK both for adding and for replacing do
the following:

my $entry = Net::LDAP::Entry->new('DN'); # 'add' is default changetype
$entry->add('givenName' => $1); # only for addingg
$entry->changetype('modify');
$entry->replace('mail' => $2); # for adding and updating
$entry->add(...);
$entry->update($ldap);

Correct me, if I am wrong.

Thanks!

Dmitry Katsubo wrote on 11-05-2009 20:45:
> Dear Perl LDAP users!
> 
> I have some difficulties while trying to update the LDAP entry. I have
> looked through the mail archive and I see that this topic is raised
> quite often.
> 
> Ideally I would like to create an entry, that I would like to use either
> for adding or for updating (the choice is not known at the moment of
> creation). I see from debug output, that "changetype=add", but I call
> $ldap->modify() which should override this...
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.