Thanks for you help. I tried this, but now I don't get any out put. Not even an error message.
"Colbourn, Charles" <[EMAIL PROTECTED]> 09/27/2006 12:32 PM To <[EMAIL PROTECTED]> cc Subject RE: Search filter problem Hi, according to the rfc, ( and ) are reserved characters (because they delimit clauses in the filter, the same is true of * because it's a wildcard). change your filter to read ( employeetype=consultant \28pre-release\29 ) and it should work fine. \28 and \29 are the escapes for ( and ), \2a is the escape for * if you should need it. regards, charles. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: 27 September 2006 17:22 To: perl-ldap@perl.org Subject: Search filter problem Hello all, I am writing a simple search script using Net::LDAP. The problem that I am having is with the filter. When I execute my script I get the following error message: "Bad filter at line 15". The attribute that I am use a part of the filter is "employeetype" and the value is "consultant (pre-release)". This is a legitimate value. I am able to retrieve the entries with the command line tool "ldapsearch", but I am have trouble do it within my Net::LDAP script. My code is below. Thank you. use Net::LDAP qw(:all); use Net::LDAP::Util qw(ldap_error_text); my $ldconnect = Net::LDAP->new('host', port=>'389') || die "$@"; my $sr = $ldconnect->search( base=> 'O=com', scope=> 'sub', filter=> "( employeetype=consultant (pre-release) )" ); $sr->code && die "failed search: ", $sr->error ; foreach my $entry ($sr->entries) { $dn = $entry->dn; $cn = $entry->get_value('cn') || '-'; $emp = $entry->get_value('employeetype') || '-'; print "DN: $dn\n"; print "Common Name: $cn\n"; print "EMP Type: $emp\n"; }