in reply to XML parsing

These are not error messages, but warnings. Are you sure you wanted printf and not just print? Interpolation of user supplied data in a printf template is a security risk, don't do that (see e.g. %n).

Parsing XML with regular expressions is crazy. If the format of the input is not always the same, using an XML-aware module is the only possible path.

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]