remove duplicate marc items
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 12 Aug 2016 12:15:41 +0000 (14:15 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 12 Aug 2016 12:15:41 +0000 (14:15 +0200)
department_marc.pl

index 76d604f..b47b684 100755 (executable)
@@ -29,26 +29,32 @@ where
        biblionumber = ?
 });
 
+my $biblio;
 
 foreach ( keys %$auth_department ) {
        next unless m/psiho/;
-       my $marc_file = "/dev/shm/$_.mrac";
-       warn "# $marc_file\n";
-
-       open(my $marc_fh, '>', $marc_file);
 
        foreach my $auth ( @{ $auth_department->{$_} } ) {
                foreach my $l1 ( keys %{ $authors->{$auth} } ) {
                        foreach my $l2 ( keys %{ $authors->{$auth}->{$l1} } ) {
                                foreach my $biblionumber ( @{ $authors->{$auth}->{$l1}->{$l2} } ) {
-                                       $sth_marc->execute($biblionumber);
-                                       my ( $marc ) = $sth_marc->fetchrow_array;
-                                       print $marc_fh $marc;
+                                       $biblio->{$biblionumber}++;
+
                                }
                        }
                }
        }
 
+       my $marc_file = "/dev/shm/$_.marc";
+       warn "# $marc_file\n";
+
+       open(my $marc_fh, '>', $marc_file);
+
+       foreach my $biblionumber ( sort keys %$biblio ) {
+               $sth_marc->execute($biblionumber);
+               my ( $marc ) = $sth_marc->fetchrow_array;
+               print $marc_fh $marc;
+       }
 
        close($marc_fh);