Deleting Date::Manip
[koha_fer] / misc / dumpmarc.pl
index 2e355e6..dd4b44a 100755 (executable)
@@ -10,14 +10,16 @@ use MARC::Record;
 use MARC::Batch;
 
 use Getopt::Long;
-my ( $input_marc_file,$number) = ('',0);
+my ( $input_marc_file,$number,$nowarning) = ('',0);
 my $version;
 GetOptions(
     'file:s'    => \$input_marc_file,
-    'n' => \$number,
-    'v' => \$version
+    'n:s' => \$number,
+    'v' => \$version,
+    'w' => \$nowarning,
 );
 
+warn "NUM : $number\n";
 if ($version || ($input_marc_file eq '')) {
        print <<EOF
 small script to dump an iso2709 file.
@@ -25,6 +27,7 @@ parameters :
 \tv : this version/help screen
 \tfile /path/to/file/to/dump : the file to dump
 \tn : the number of the record to dump. If missing, all the file is dumped
+\tw : warning and strict off. If your dump fail, try -w option. It it works, then, the file is iso2709, but a buggy one !
 SAMPLE : ./dumpmarc.pl -file /home/paul/koha.dev/local/npl -n 1
 EOF
 ;
@@ -32,11 +35,11 @@ die;
 }
 
 my $batch = MARC::Batch->new( 'USMARC', $input_marc_file );
-$batch->warnings_off();
-$batch->strict_off();
+$batch->warnings_off() unless $nowarning;
+$batch->strict_off() unless $nowarning;
 my $i=1;
 while ( my $record = $batch->next() ) {
-       print "\n".$record->as_formatted() if ($i eq $number || $number eq 0);
+       print "\nNUMBER $i =>\n".$record->as_formatted() if ($i eq $number || $number eq 0);
        $i++;
 }
 print "\n==================\n$i record parsed\n";