I cut off the last line of the errors, which says this, which might be an additional clue:
ntUserDomainId: value #0 invalid per syntax This makes me think somewhere an array is being used instead of a string. Prentice Bisbal wrote: > Okay guys, I need another pair of eyes to try find an error in my code. > Can any of you see anything wrong with this bit of code? > > $mesg = $entry->add('objectClass' => 'ntUser', > 'ntUserDomainId' => $ntUserDomainId, > 'ntUserHomeDir' => "\\\\host.tld\\home\\$ntUserDomainId" > ); > > . > > When I run my program, I get this error: > > Use of uninitialized value in concatenation (.) or string at > ./add_nt_attribs.pl line 120, <STDIN> line 1. > Use of uninitialized value in length at > /usr/local/perl-5.8/lib/site_perl/5.8.8/Convert/ASN1/_encode.pm line > 143, <STDIN> line 1. > Use of uninitialized value in concatenation (.) or string at > /usr/local/perl-5.8/lib/site_perl/5.8.8/Convert/ASN1/_encode.pm line > 144, <STDIN> line 1. > ntUserDomainId: value #0 invalid per syntax at > /usr/local/perl-5.8/lib/site_perl/5.8.8/Net/LDAP/Entry.pm line 268 > > $entry already exists in LDAP, and I'm just trying to add this new > objectClass and related attributes to the entry. Am I doing this the > wrong way? > > Should I be using a function other than entry->add(), like $ldap->modify()? > -- Prentice Bisbal Linux Software Support Specialist/System Administrator School of Natural Sciences Institute for Advanced Study Princeton, NJ