I don't know how huge "Huge" is but I'm parsing a file that's about 200 MB and decided to go with the lower level XML::Parser and wrote my own handler. This allows me to have greater flexibility in handling the data.
On a Linux box with 4 GB it takes about 20-25 minutes. Note that if you do store all those data in memory (e.g., using DOM or a roll-your-own solution), you better have enough memory to handle it all.