2 # -*- coding: iso-8859-15 -*-
3 ###############################################################################
6 =item B<prepbibs> --file foo.mrc
8 Converts a MARC binary file internally to XML and changes 852 subfields to
9 851s with a special subfield z with a value of 'converted 852 field' added for
15 ###############################################################################
22 HOME PGHOST PGPORT PGUSER PGDATABASE MIGSCHEMA
23 MIGBASEWORKDIR MIGBASEGITDIR MIGGITDIR MIGWORKDIR
35 use List::MoreUtils qw(uniq);
37 my $mig_bin = "$FindBin::Bin/";
38 use lib "$FindBin::Bin/";
40 use open ':encoding(utf8)';
42 binmode STDOUT, ":utf8";
44 pod2usage(-verbose => 2) if defined $ARGV[0] && $ARGV[0] eq '--help';
45 pod2usage(-verbose => 1) if ! $ARGV[1];
53 my $outfile = $infile . '.prepped_xml';
55 open my $outfh, '>:utf8', $outfile or die "Can't open output file $!\n";
57 my $batch = MARC::Batch->new( 'USMARC', $infile );
60 while ( my $record = $batch->next() ) {
61 my @nnn = $record->field('852');
62 foreach my $n (@nnn) {
64 $n->add_subfields( 'z' => 'converted 852 field' );
66 print $outfh $record->as_xml(),"\n";
77 print STDERR "$0: $msg", "\n";