use XML::Simple; my $data = <<'__EOI__'; 150 years of know how at the service of a same strategy: Taste images/bag_legal.jpg Roaster since 1851 A revolution in the packaging arena Prestige is a very traditional French recipe images/prestige.jpg Coffee D A 800.55.01 Legal Legal Prestige 250 12 /recipes/coffee1.html Coffee D A 801.55.01 Legal Legal Prestige Boite Arôme 500 6 __EOI__ # In older versions: $category = XMLin($data, forcearray=>1); XMLout($category, rootname =>'category', outputfile => \*STDOUT); # In newer versions: #$category = XMLin($data, ForceArray=>1); #XMLout($category, RootName =>'category', OutputFile => \*STDOUT); __END__ output ====== images/prestige.jpg Coffee 12 800.55.01 250 Legal D A /recipes/coffee1.html Legal Prestige Coffee 6 801.55.01 500 Legal D A Legal Prestige Boite Ar¶me Prestige is a very traditional French recipe images/bag_legal.jpg 150 years of know how at the service of a same strategy: Taste Roaster since 1851 A revolution in the packaging arena