bad exception handling. dividing upside down. oop.
[migration-tools.git] / fingerprinter
index 2f27fba..4118fd3 100755 (executable)
@@ -105,7 +105,7 @@ sub populate_marc {
 
     # "Accompanying material" (300e)
     $marc{accomp} = $record->field('300')->subfield('e')
-      if (defined $record->field('300')->subfield('e'));
+      if $record->field('300');
 
     # issn, lccn, title, desc, pages, pub, pubyear, edition
     $marc{lccn} = $record->field('010')->subfield('a') if $record->field('010');
@@ -263,7 +263,7 @@ sub dump_exception {
     print XF "Missing item_form. " unless ($marc->{item_form});
     print XF "Missing date1. " unless (defined $marc->{date1});
     print XF "Invalid date1: ", $marc->{date1}
-      unless ($marc->{date1} =~ /\d{4}/);
+      unless (defined $marc->{date1} and $marc->{date1} =~ /\d{4}/);
     print XF "Missing record_type. " unless ($marc->{record_type});
     print XF "Missing bib_lvl. " unless ($marc->{bib_lvl});
     print XF "Missing title. " unless ($marc->{title});
@@ -316,7 +316,7 @@ sub initialize {
 
 sub progress_ticker {
     return if $conf->{quiet};
-    printf("> %d (%d/s)\r", $count, ((time - $start) / $count))
+    printf("> %d (%d/s)\r", $count, ($count / (time - $start)))
       if ($count % 100 == 0);
 }