initialize($conf);
open OF, '>', $conf->{output};
-binmode(OF, ':utf8');
open XF, '>', $conf->{exception};
-binmode(XF, ':utf8');
for my $file (@ARGV) {
print XF "Processing $file\n";
sub dump_fingerprints {
my ($marc) = @_;
+ my $good_fp = 0;
if ($conf->{runtype} eq "primary") {
print OF join("\t",$marc->{id}, $marc->{item_form},
$marc->{bib_lvl}, $marc->{title},
$isbn, $marc->{pages}), "\n";
}
+ $good_fp = 1;
}
-
=pod
Looks like case b isn't a terribly good idea most of the time -- it
$marc->{item_form}, $marc->{date1},
$marc->{record_type}, $marc->{bib_lvl},
$marc->{title}, $marc->{edition}), "\n";
+ $good_fp = 1;
}
=cut
$marc->{item_form}, $marc->{date1},
$marc->{record_type}, $marc->{bib_lvl},
$marc->{title}, $marc->{issn}), "\n";
+ $good_fp = 1;
}
if ($marc->{lccn}) { # case d : lccn
$marc->{item_form}, $marc->{date1},
$marc->{record_type}, $marc->{bib_lvl},
$marc->{title}, $marc->{lccn}) ,"\n";
+ $good_fp = 1;
}
if ($marc->{accomp}) { # case e : accomp
$marc->{item_form}, $marc->{date1},
$marc->{record_type}, $marc->{bib_lvl},
$marc->{title}, $marc->{accomp}) ,"\n";
+ $good_fp = 1;
}
# case o: oclc
$marc->{record_type}, $marc->{bib_lvl},
$marc->{title}, $_, "\n");
}
+ $good_fp = 1;
}
# case z : author, publisher, pubyear, pages
$marc->{title}, $marc->{author},
$marc->{publisher}, $marc->{pubyear},
$marc->{pages}), "\n";
+ $good_fp = 1;
+ }
+
+ # case poo : nothing good; dump a primary and move on
+ unless ($good_fp) {
+ print OF join("\t", $marc->{id}, "case poo", $marc->{item_form},
+ $marc->{date1}, $marc->{record_type},
+ $marc->{bib_lvl}, $marc->{title}), "\n";
}
}
}