15.15. Net::LDAP

Example 15-19. examples/applications/ldap.pl

#!/usr/bin/perl
use strict;
use warnings;

use Net::LDAP;
my $server = "ldap.itd.umich.edu";
my $ldap = Net::LDAP->new( $server ) or die "$@";
$ldap->bind;

my $result = $ldap->search( 
    base   => "",
    filter => "(&(cn=Ver*) (sn=Szab*))",
    attr   => ["mail"],
);

$result->code && die $result->error;

printf "COUNT: %s\n", $result->count;
 
foreach my $entry ($result->entries) { 
    $entry->dump; 
}
print "===============================================\n";

foreach my $entry ($result->entries) { 
    printf "%s <%s>\n", $entry->get_value("displayName"), $entry->get_value("mail");
    $entry->add ( "brother" => "Gabor" );
    $entry->replace ( "mail" => 'verele@verele.com');
    my $res = $entry->update($ldap);
    $res->code && die $res->code;
}

$ldap->add(
    'cn=root, o=University of Michigan, c=US',
    attr => [
        cn   => 'Gabor Szabo',
        ou   => 'My Place in the Universe',
        mail => 'gabor@pti.co.il',
    ],
);
 
$ldap->unbind;

If you are interested in on-site trainings by the author, please contact me directly.

Online courses: