in reply to Perl with Active Directory
The most-immediate problem is that the parameter-list being passed to DBI->connect() is obviously wrong. The username and password positional-parameters are missing entirely. So, the hash (most-likely stringified as “HASH(0x34882c)”) is being taken to be the username.
For example, if you know that (thanks to LDAP or whatever ...) the Perl app does not require user/pass to connect, then you should nevertheless supply undef, undef in those two positions, so that the attributes-hash is still in its proper place in the list.