use strict; use warnings; use Net::LDAP; use Net::LDAP::Util qw(ldap_explode_dn); my $ldap = Net::LDAP->new("ldap.sfu.ca:1389") or die $!; my $bind = $ldap->bind(); my @attr = (qw(sn givenName cn mail)); my @args = ( base => 'ou=people,o=SFU,c=CA', scope => 'sub', filter => '(objectclass=*)', attrs => \@attr); $,=','; my $mesg = $ldap->search ( @args ) or die $!; while (my $entry = $mesg->shift_entry()) { my $UID = ldap_explode_dn($entry->dn())->[0]->{UID}; print $UID, (map {$entry->get_value($_)} @attr), "\n"; }