my $sw = $xmldoc->{'Catalog'}->{'Products'}; my %sw = %{ $sw->{'Product'}}; foreach my $product (keys %sw) { print "Now processing $product\n"; my $version; my $release; my $description = $sw{$product}{'description'}; my $vendorUniqueKeyRef = $sw{$product}{'vendorUniqueKeyRef'}; my $swUniqueKey = $sw{$product}{'swUniqueKey'}; if ($sw{$product}{'ProductVersion'}) { $version = $sw{$product}{'ProductVersion'}{'version'}; if ($sw{$product}{'ProductVersion'}{'ProductVersionRelease'}) { $release = $sw{$product}{'ProductVersion'}{'ProductVersionRelease'}{'release'}; } else { $release = 0; } } else { $version = 0; $release = 0; } my $fullVersion = "$version.$release"; print " ***************\n The product is: $product\n The description is: $description\n The vendorUniqueKeyRef is: $vendorUniqueKeyRef\n The ProductVersion is: $fullVersion\n The swUniqueKey is: $swUniqueKey\n ***************\n"; };