Thank you for your answers, unfortunately after many tests, the LDAP filter does not use the value contained in the variable.
I put you the code that I currently use to see if you have another solution :
package cnmodule;
sub function1 {
use strict;
use Net::LDAP;
my ($local) = @_;
my $valueA;
my $ldap = Net::LDAP->new('ad.network',version => 3)
or die "Can t connect to LDAP ($@)";
$valueA = $ldap->bind ("cn=usercheck,cn=users,dc=domain,dc=network",
+ password => 'password');
$valueA->code && die $valueA->error;
$valueA= $ldap->search(
base => 'dc=domain,dc=network',
scope => 'sub',
filter => qq{(sn=q{$local})},
);
$ldap->unbind();
$valueA->code && die $valueA->error;
foreach my $entry ($valueA->all_entries) {
my $valueB = $entry->get_value('CN');
}
return $valueB;
}
$variableA='test';
$variableB=function1($variableA);
print $variableB;
1;