generate Changes from git
[MARC-Fast] / scripts / dump_fastmarc.pl
index efce954..dd4897c 100755 (executable)
@@ -1,11 +1,11 @@
 #!/usr/bin/perl -w
 
 use strict;
-use blib;
+use lib 'lib';
 
 use MARC::Fast;
 use Getopt::Std;
-use Data::Dumper;
+use Data::Dump qw/dump/;
 
 =head1 NAME
 
@@ -35,12 +35,16 @@ dump result of C<to_hash> on record
 
 turn debugging output on
 
+=item -t
+
+dump tsv file for TokyoCabinet import
+
 =back
 
 =cut
 
 my %opt;
-getopts('do:l:h', \%opt);
+getopts('do:l:ht', \%opt);
 
 my $file = shift @ARGV || die "usage: $0 [-o offset] [-l limit] [-h] [-d] file.marc\n";
 
@@ -65,9 +69,16 @@ if (my $mfn = $opt{n}) {
 
 for my $mfn ($min .. $max) {
        my $rec = $marc->fetch($mfn) || next;
-       print "rec is ",Dumper($rec) if ($opt{d});
-       print "REC $mfn\n";
-       print $marc->last_leader,"\n";
-       print $marc->to_ascii($mfn),"\n";
-       print "hash is ",Dumper($marc->to_hash($mfn, include_subfields => 1)) if ($opt{h});
+       warn "rec is ",dump($rec) if ($opt{d});
+       if ( $opt{t} ) {
+               print "rec\t$mfn\tleader\t", $marc->last_leader, "\t";
+               my $ascii = $marc->to_ascii($mfn);
+               $ascii =~ s{\n}{\t}gs;
+               print "$ascii\n";
+       } else {
+               print "REC $mfn\n";
+               print $marc->last_leader,"\n";
+               print $marc->to_ascii($mfn),"\n";
+       }
+       warn "hash is ",dump($marc->to_hash($mfn, include_subfields => 1)) if ($opt{h});
 }