#! /usr/bin/perl -w use Net::LDAP; open ( FH, "<", "/tmp/dls" ) or die "Could not open file... :$! \n"; open ( FH2, "<", "/tmp/removemem" ) or die "Could not open file... :$! \n"; $ldap = Net::LDAP->new ( “ldap-master" ) or die "$@"; $mesg = $ldap->bind( dn => "uid=admin,ou=SysAccounts,dc=admin,dc=local", password => “pass", ); while ( $dl = ) { chomp $dl ; $mesg = $ldap->search ( base => “dc=example, dc=com", filter => "mail=$dl", attrs => [ 'mgrprfc822mailmember' ], ); @entries = $mesg->entries; foreach $entry ( @entries ) { @members = $entry->get_value('mgrprfc822mailmember'); print "\n"; print "$dl\n"; print "Members are: @members\n"; foreach $member ( @members ) { while ( $curmem = ) { chomp $curmem; print "\n$curmem\n"; $mesg2 = $ldap->search ( base => “dc=example, dc=com", filter => "uid=$curmem", attrs => [ 'mailLocalAddress' ], ); @entries2 = $mesg2->entries; foreach $entry2 ( @entries2 ) { @current = $entry2->get_value('mailLocalAddress'); print "\n File UID $curmem has following Aliases: @current\n"; # } print "MATCH Starting\n"; if ( grep /^$member$/, @current ) { print "MATCHED: $member\n" ; } # } } } } } } $mesg = $ldap->unbind ;