SASL auth using method Digest-MD5 doesn't work because XML::Stream force to set "authname" field during SASL auth. For example on jabber.ru server, you will always get non-authorized error using standard examples/client.pl trying to connect to such server.
Here is the pull request which fixes the problem, without patching other modules: #19