# Perform an LDAP query, returning results in a hash. sub fetch { my $self = shift; %{$self->{'ARG'}} = @_; my ($r); my $result = $self->{'LDAP'}->search( base => $self->{'ARG'}->{'source'}, filter => $self->{'ARG'}->{'filter'} ); foreach my $entry ($result->all_entries()) { map { push my @a, $entry->get_value($_); if ($a[1]) { $r->{$entry->dn()}->{$_} = [ $entry->get_value($_) ]; } else { $r->{$entry->dn()}->{$_} = $entry->get_value($_); } } $entry->attributes(); } return $r; }