Re: How to replace multiple values of an attribute

Oliver Dörr <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.ldap
Message-ID <[email protected]>
Hi Graham,

thanks for your hint. I found it. The correct syntax was

my $mesg1=$backendConn->modify($dn, replace => [$attr, $values]);

The problem was, that $values was iso-8859-1 encoded. After decoding it, 
it works.

Thanks again

Oliver

Graham Barr schrieb:
>
> On Apr 13, 2009, at 3:50 PM, Oliver Dörr wrote:
>
>> Hmmm,
>>
>> that does also not work.  $mesg1->error shows "Protocol error " and 
>> $mesg1->code = 2
>>
>> No hint, in LDAP server log
>
> Hm, it should have worked. can you turn on debug with 
> $backendConn->debug(15); just before you call ->modify so we can see 
> what it being sent to the server
>
> Graham.
>
>>
>>
>> Another idea?
>> Oliver
>>
>>
>> Steiner, Ross schrieb:
>>> Oliver,
>>>
>>> I think the following should work (pass a reference to an array, not 
>>> an array):
>>>
>>> my $mesg1=$backendConn->modify($dn,
>>>                               replace => { $attr, $values }
>>>                              );
>>> Regards,
>>> Ross
>>>
>>> -----Original Message-----
>>> From: Oliver Dörr [mailto:[email protected]] Sent: Monday, 
>>> April 13, 2009 2:41 PM
>>> To: [email protected]
>>> Subject: How to replace multiple values of an attribute
>>>
>>> Hi,
>>>
>>> I spent my whole afternoon searching for a solution for replacing 
>>> all values of an attrbute by an array.
>>>
>>> So what i got is basicly an reference $values to an array of my new 
>>> values. I could iterate through the array using foreach my $value 
>>> (@$values) {...}
>>>
>>> The code that works is:
>>> my $mesg1=$backendConn->modify($dn,
>>>                                        replace => [$attr, ["Hello", 
>>> "Test"]]
>>>                                         );
>>>
>>> But i need to be more flexible and tried today a lot of variations 
>>> of...
>>> my $mesg1=$backendConn->modify($dn,
>>>                                        replace => [$attr, @{$values}]
>>>                                         );
>>>
>>> This gave me the error...
>>> Attribute <one of the values in my array> was not found in the 
>>> schema definition.
>>> inside the LDAP Server
>>>
>>> $attr is a string that contains the name of the attribut.
>>>
>>> Could somebody help me?
>>> Oliver
>>>
>>>
>>>
>>
>
>
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.