This might help get you going. I took out the file stuff, you'll have to adjust. If this is something you actually need for work, you might consider posting it as a one-off job to jobs.perl.org or something.
use strict; # Don't leave out!
use warnings; # Don't leave out!
use XML::LibXML;
my $parser = XML::LibXML->new();
my $doc = $parser->parse_fh(\*DATA);
my @product = $doc->getElementsByTagName('product');
for my $kid ( @product ){
print
join("\t",
$kid->getElementsByTagName('name')->[0]->textContent,
$kid->getElementsByTagName('imageURL_med')->[0]->textCont
+ent,
$kid->getAttribute('category_id'),
$kid->getAttribute('id'),
$kid->getElementsByTagName('desc_short')->[0]->textConten
+t,
),
"\n";
}
# print $doc->serialize();
__END__
<root>
<product category_id="13296" id="675936193" catalog="false" row="1">
<name>Children's Hand Rake</name>
<imageURL_med></imageURL_med>
<desc_short>Mini gardeners can dig, rake and scoop out their own p
+lot with this children's hand rake, complete with contoured handles a
+nd durable metal heads.</desc_short>
</product>
<product category_id="13296" id="675936193" catalog="false" row="1">
<name>Bag of Broken Glass</name>
<imageURL_med>http://moocow.co.uk.jp/something/something/bg.jpg</i
+mageURL_med>
<desc_short>Fun for all ages!</desc_short>
</product>
</root>