require Net::LDAP::Extensions::SetPassword instead of use
I think there is a little problem in _LDAP.pm line 302 : the command "use" is always read even if the program doesn't enter in this loop. You have to use "require Net::LDAP::Extension::SetPassword;" or "eval 'use Net::LDAP::Extension::SetPassword';" (if import() is needed).