my $tag=$field->tag();
if ($auth_number==$mergefrom) {
my $field_to=MARC::Field->new(($tag_to?$tag_to:$tag),$field->indicator(1),$field->indicator(2),"9"=>$mergeto);
+ my $exclude='9';
foreach my $subfield (@record_to) {
$field_to->add_subfields($subfield->[0] =>$subfield->[1]);
+ $exclude.= $subfield->[0];
}
+ $exclude='['.$exclude.']';
+# add subfields in $field not included in @record_to
+ my @restore= grep {$_->[0]!~/$exclude/} $field->subfields();
+ foreach my $subfield (@restore) {
+ $field_to->add_subfields($subfield->[0] =>$subfield->[1]);
+ }
$marcrecord->delete_field($field);
$marcrecord->insert_grouped_field($field_to);
$update=1;