I've come to like
XML::Rules. I also still like
XML::Twig. But when I just needed to alter some attribute values in some not-especially-large (<200KB) files, I tried both of those modules, but ended up going with
XML::LibXML because XPath made finding the desired attributes that I wanted to change incredibly simple (Update: And I didn't know about XML::Twig::XPath...though it's still worthwhile learning XML::LibXML).