in reply to remove chevrons from an email address

I like to use Email::Address for manipulating addresse. Does the address() method do what you want?

As a side note, why does your XML formatting module not encode entities appropriately? I recommend filing a bug with the author. You oughtn't have to think about escaping things, be they XML-significant characters, entity references, or Unicode characters. (Have you tried XML::Writer?)