/[MARC-Fast]/trunk/scripts/dump_fastmarc.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/scripts/dump_fastmarc.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1 by dpavlin, Tue Jan 4 10:26:07 2005 UTC revision 11 by dpavlin, Fri Nov 3 20:34:31 2006 UTC
# Line 4  use strict; Line 4  use strict;
4  use blib;  use blib;
5    
6  use MARC::Fast;  use MARC::Fast;
7    use Getopt::Std;
8  use Data::Dumper;  use Data::Dumper;
9    
10  my $file = shift @ARGV || die "usage: $0 file.marc\n";  =head1 NAME
11  my $debug = shift @ARGV;  
12    dump_fastmarc.pl - display MARC records
13    
14    =head2 USAGE
15    
16      dump_fastmarc.pl /path/to/dump.marc
17    
18    =head2 OPTIONS
19    
20    =over 16
21    
22    =item -o offset
23    
24    dump records starting with C<offset>
25    
26    =item -l limit
27    
28    dump just C<limit> records
29    
30    =item -h
31    
32    dump result of C<to_hash> on record
33    
34    =item -d
35    
36    turn debugging output on
37    
38    =back
39    
40    =cut
41    
42    my %opt;
43    getopts('do:l:h', \%opt);
44    
45    my $file = shift @ARGV || die "usage: $0 [-o offset] [-l limit] [-h] [-d] file.marc\n";
46    
47  my $marc = new MARC::Fast(  my $marc = new MARC::Fast(
48          marcdb => $file,          marcdb => $file,
49          debug => $debug,          debug => $opt{d},
50  );  );
51    
 print STDERR "$file has ",$marc->count," records...\n\n";  
52    
53  for my $mfn (1 .. $marc->count) {  my $min = 1;
54    my $max = $marc->count;
55    
56    if (my $mfn = $opt{n}) {
57            $min = $max = $mfn;
58            print STDERR "Dumping $mfn only\n";
59    } elsif (my $limit = $opt{l}) {
60            print STDERR "$file has $max records, using first $limit\n";
61            $max = $limit;
62    } else {
63            print STDERR "$file has $max records...\n";
64    }
65    
66    for my $mfn ($min .. $max) {
67          my $rec = $marc->fetch($mfn) || next;          my $rec = $marc->fetch($mfn) || next;
68            print "rec is ",Dumper($rec) if ($opt{d});
69          print "REC $mfn\n";          print "REC $mfn\n";
70          foreach my $f (keys %{$rec}) {          print $marc->to_ascii($mfn),"\n";
71                  print "$f\t",$rec->{$f},"\n";          print "hash is ",Dumper($marc->to_hash($mfn)) if ($opt{h});
         }  
         print "\n";  
72  }  }

Legend:
Removed from v.1  
changed lines
  Added in v.11

  ViewVC Help
Powered by ViewVC 1.1.26