535 |
my ($f, $pos, $val) = @_; |
my ($f, $pos, $val) = @_; |
536 |
die "need marc(field, position, value)" unless defined($f) && defined($pos); |
die "need marc(field, position, value)" unless defined($f) && defined($pos); |
537 |
|
|
538 |
|
confess "need val" unless defined $val; |
539 |
|
|
540 |
my $update = 0; |
my $update = 0; |
541 |
|
|
542 |
map { |
map { |
543 |
if ($_->[0] eq $f) { |
if ($_->[0] eq $f) { |
544 |
my $old = $_->[1]; |
my $old = $_->[1]; |
545 |
if (length($old) < $pos) { |
if (length($old) <= $pos) { |
546 |
$_->[1] .= ' ' x ( $pos - length($old) ) . $val; |
$_->[1] .= ' ' x ( $pos - length($old) ) . $val; |
547 |
warn "## marc_fixed($f,$pos,'$val') append '$old' -> '$_->[1]'\n" if ($debug > 1); |
warn "## marc_fixed($f,$pos,'$val') append '$old' -> '$_->[1]'\n" if ($debug > 1); |
548 |
} else { |
} else { |
874 |
|
|
875 |
my ($h,$include_subfields) = @_; |
my ($h,$include_subfields) = @_; |
876 |
|
|
877 |
|
# sanity and ease of use |
878 |
|
return $h if (ref($h) ne 'HASH'); |
879 |
|
|
880 |
if ( defined($h->{subfields}) ) { |
if ( defined($h->{subfields}) ) { |
881 |
my $sfs = delete $h->{subfields} || die "no subfields?"; |
my $sfs = delete $h->{subfields} || die "no subfields?"; |
882 |
my @out; |
my @out; |