Glaskugel sagt: du tust irgendwas falsch, aber mangels Quellcode von dir und Zugriff auf den LDAP-Server kann man es nicht genau beurteilen. Den korrekten Base-DN kannst du mittels gq rauspfriemeln. Das folgende Beispiel funktioniert für mich:
use Net::LDAP qw();
my $ldap = Net::LDAP->new('ldaphost') or die;
$ldap->bind;
my $search = $ldap->search(
base => 'ou=people,dc=example,dc=com',
filter => '(mail=*@example.net)',
attrs => [qw(uid mail)],
);
for my $entry ($search->entries) {
say $entry->get_value('uid');
say $entry->get_value('mail');
}