To learn about XML and its associated technology, I find W3 Schools
a nice point to start.
A combination of XML, XPath and XSLT will probably already bring you far.
Personally, I try to do as much "work" on XML-structures inside of the XML technology and only as a last resort apply Perl to it. Of course, Perl and XML work seamlessly together. So when you have extracted (XPath) the info from your XML-file and transformed it into another XML-format (through XSLT), that --if it is not already final-- should be easy to understand by your Perl-program for a final polishing.
A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James