consider only one-char subfields (to correctly skip subfields key which
[webpac2] / lib / WebPAC / Normalize.pm
index 2b30ee2..e5ade0e 100644 (file)
@@ -933,9 +933,11 @@ sub marc_template {
 
                my ( $new_r, $from_count, $to_count );
                foreach my $sf ( keys %{$r} ) {
+                       # skip everything which isn't one char subfield (e.g. 'subfields')
+                       next unless $sf =~ m/^\w$/;
                        my $nr = $from_count->{$sf}++;
-                       my $rename_to = $subfields_rename->{ $sf };     # ||
-#                              die "can't find subfield rename for $sf/$nr in ", dump( $subfields_rename );
+                       my $rename_to = $subfields_rename->{ $sf } ||
+                               die "can't find subfield rename for $sf/$nr in ", dump( $subfields_rename );
                        warn "### rename $sf/$nr to ", dump( $rename_to->[$nr] ), $/;
                        my ( $to_sf, $to_nr ) = @{ $rename_to->[$nr] };
                        $new_r->{ $to_sf }->[ $to_nr ] = [ $sf => $nr ];