Without knowing the structure of the XML document, it would be tough to answer the question. However, you may wish to learn about Parse::RecDescent for working with complex data. There is also a humorous tutorial for it.
You can also check out Email::Find for getting the e-mail. It's not perfect, but the RFC822 specification for e-mail addresses is so broad that it's tough to match accurately.