consider only one-char subfields (to correctly skip subfields key which
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 9 Nov 2007 23:46:44 +0000 (23:46 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 9 Nov 2007 23:46:44 +0000 (23:46 +0000)
contains order of subfields), die on subfields which doesn't have
rename mapping defined

git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@1018 07558da8-63fa-0310-ba24-9fe276d99e06

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 ];