fix variable scoping
authorDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 12 Nov 2007 14:18:49 +0000 (14:18 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 12 Nov 2007 14:18:49 +0000 (14:18 +0000)
git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@1044 07558da8-63fa-0310-ba24-9fe276d99e06

lib/WebPAC/Normalize/MARC.pm

index a0aade3..38a6267 100644 (file)
@@ -132,7 +132,9 @@ sub marc_template {
 
        my $m;
 
-       foreach my $r ( @{ $rec->{ $args->{from} } } ) {
+       our $from_rec = $rec->{ $args->{from} };
+
+       foreach my $r ( @$from_rec ) {
 
                my $i1 = $r->{i1} || ' ';
                my $i2 = $r->{i2} || ' ';
@@ -143,7 +145,8 @@ sub marc_template {
 
                warn "### r = ",dump( $r ),$/ if $debug;
 
-               my ( $from_mapping, $to_mapping, $from_count, $to_count );
+               my ( $from_mapping, $from_count, $to_count );
+               our $to_mapping;
                foreach my $from_sf ( keys %{$r} ) {
                        # skip everything which isn't one char subfield (e.g. 'subfields')
                        next unless $from_sf =~ m/^\w$/;
@@ -194,7 +197,7 @@ sub marc_template {
                                        warn "#### fill_in( $name, r, '$pre', $sf, $nr, '$post' )\n" if $debug;
                                        my ( $from_sf, $from_nr );
                                        if ( $name eq 'marc' ) {
-                                               die "no $sf/$nr in to_mapping: ",dump( $to_mapping ), " form record ",dump( $r ) unless defined $to_mapping->{$sf}->[$nr];
+                                               die "no $sf/$nr in to_mapping: ",dump( $to_mapping ), "\n>>>> from record ",dump( $r ), "\n>>>> full record = ",dump( $from_rec ) unless defined $to_mapping->{$sf}->[$nr];
                                                ( $from_sf, $from_nr ) = @{ $to_mapping->{$sf}->[$nr] };
                                        } else {
                                                ( $from_sf, $from_nr ) = ( $sf, $nr );