foreach my $xmlfile (@productfiles) {
my $XML = XML::Smart->new($xmlfile) or warn("Unable to parse $xmlfile: $!"), next;
$XML = $XML->cut_root();
next if (!defined $XML->{Product}{Code} || $XML->{Product}{Code}->content != 1);
my $prodid = $XML->{Product}{ID};
my @features = @{$XML->{Product}{ProductFeature}};
foreach my $feature (@features) {
my $cat_featureid = $feature->{CategoryFeature_ID};
my $value = $feature->{Presentation_Value};
my $sql = "INSERT INTO products_features (product_id, feature_id, value)
VALUES (".$prodid.", ".$cat_featureid.", ".$dbh->quote($value).")
ON DUPLICATE KEY UPDATE value=".$dbh->quote($value);
$dbh->do($sql);
print Dumper $sql;
}
undef $XML;
$c_processed++;
print "." if ($c_processed % 10 == 0); # indicate progress as operations can take a long time
}
print "$c_processed product feature values imported or updated.\n";
####
$VAR1 = 'INSERT INTO products_features (product_id, feature_id, value)
VALUES (9589372, 34200, \'Brother HL3040\')
ON DUPLICATE KEY UPDATE value=\'Brother HL3040\'';
####
$VAR1 = 'INSERT INTO products_features (product_id, feature_id, value)
VALUES (9589372, 41695, \'1\')
ON DUPLICATE KEY UPDATE value=\'1\'';