in reply to Re: Centos 7 getadsmtp.pl outputing blank
in thread Centos 7 getadsmtp.pl outputing blank

Here in 2019, it turns out someone had used this same script to pull email addresses from our AD server as well. It wouldn't work on CentOS7 so following the troubleshooting tips from poj, I added the line:
print "mesg = ".Dumper($mesg);
It gave me this message:
'errorMessage' => 'Can\'t use string ("proxyAddresses") as an ARRAY re +f while "strict refs" in use at /usr/share/perl5/vendor_perl/Convert/ +ASN1/_encode.pm line 269, <DATA> line 747.
So I changed attr => "proxyAddresses to attr => "@proxyAddresses" and the script dumped all email addresses to a file. although it generated the following warnings:
Possible unintended interpolation of @proxyAddresses in string at ./p. +pl line 84, <DATA> line 747. Name "main::proxyAddresses" used only once: possible typo at ./p.pl li +ne 84, <DATA> line 747.

Replies are listed 'Best First'.
Re^3: Centos 7 getadsmtp.pl outputing blank
by afoken (Chancellor) on Aug 28, 2019 at 09:01 UTC
    Possible unintended interpolation of @proxyAddresses in string

    @ must be escaped in double quoted strings, and because you don't have an array named @proxyAddress, "@proxyAddress" evaluates to an empty string.

    Another option is to use single quotes instead of double quotes.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
      I declared the array before it was used and that cleared the warning messages. Thanks to everyone on this thread for helping to get this working!