If you want to use XML::Simple, then this is also one possible solution
my %resulting_vendors;
my %vendors = %{ $xmldoc->{Catalog}{Vendors}{Vendor} };
foreach my $vendor2 (keys %vendors ) {
print "vendorUniqueKey: [", $vendors{$vendor2}{vendorUniqueKey}, "
+], vendor2: [$vendor2]\n";
$resulting_vendors{$vendors{$vendor2}{vendorUniqueKey}}=$vendor2;
}
print Data::Dumper->Dump( [\%resulting_vendors], [qw(resulting_vendors
+)] );
The advantage of this code is, that it only uses things that you also used The line
my %vendors = %{ $xmldoc->{Catalog}{Vendors}{Vendor} };
isn't really necessary, you can freely use the right part instead of %vendors, if you really want. |