What stumped me about your solution was that I found no mention at all of the function data_transform
Holy revisionist history batman! That's not what you said at all. You said "You solution is highly cryptic and you have to consult documents to find out what the various functions your calling on actually do". Were you lying, or did you need to look up parse_file?
You've also repeatedly claimed that my solution is over-engineered, but now you're saying it's under-engineered because I used
$node->textContent() x shift(@counts)
instead of
data_transform($node->textContent(), shift(@counts))
Wow! Do you realise you have no credibility?