tag search display
marc marc_indicators marc_repeatable_subfield
- marc_compose
+ marc_compose marc_leader
rec1 rec2 rec
regex prefix suffix surround
=head1 VERSION
-Version 0.08
+Version 0.09
=cut
-our $VERSION = '0.08';
+our $VERSION = '0.09';
=head1 SYNOPSIS
$out->{$name}->{search} = \@o;
}
+=head2 marc_leader
+
+Setup fields within MARC leader or get leader
+
+ marc_leader('05','c');
+ my $leader = marc_leader();
+
+=cut
+
+sub marc_leader {
+ my ($offset,$value) = @_;
+
+ if ($offset) {
+ $out->{' leader'}->{ $offset } = $value;
+ } else {
+ return $out->{' leader'};
+ }
+}
+
=head2 marc
Save value for MARC field
} else {
$marc->add_fields( @marc_fields );
+ # tweak leader
+ if (my $new_l = WebPAC::Normalize::marc_leader()) {
+
+ my $leader = $marc->leader;
+
+ foreach my $o ( keys %$new_l ) {
+ my $insert = $new_l->{$o};
+ $leader = substr($leader, 0, $o) .
+ $insert . substr($leader, $o+length($insert));
+ }
+ $marc->leader( $leader );
+ }
+
if ($marc_lint) {
$lint->check_record( $marc );
my $err = join( "\n", $lint->warnings );
}
if ($marc_dump) {
- $log->info("MARC record on MFN $mfn\n",
+ $log->info("MARC record on MFN $mfn\tleader:", $marc->leader(), "\n",
"Original imput row: ",dump($row), "\n",
"Normalized MARC row: ",dump(@marc_fields), "\n",
);
use strict;
-use Test::More tests => 99;
+use Test::More tests => 103;
use Test::Exception;
use Cwd qw/abs_path/;
use blib;
]
],
);
+
+ cmp_ok(marc_leader('06',42), '==', 42, 'marc_leader');
+ cmp_ok(marc_leader('11',5), '==', 5, 'marc_leader');
+ ok(marc_leader(), 'marc_leader get');
+ diag "leader: ", dump(marc_leader()) if ($debug);
+ is_deeply(marc_leader(), { '06' => 42, 11 => 5 }, "marc_leader full");
}