542 |
my $old = $_->[1]; |
my $old = $_->[1]; |
543 |
if (length($old) < $pos) { |
if (length($old) < $pos) { |
544 |
$_->[1] .= ' ' x ( $pos - length($old) ) . $val; |
$_->[1] .= ' ' x ( $pos - length($old) ) . $val; |
545 |
warn "## marc_fixed($f,$pos,'$val') append '$old' -> '$_->[1]'\n"; |
warn "## marc_fixed($f,$pos,'$val') append '$old' -> '$_->[1]'\n" if ($debug > 1); |
546 |
} else { |
} else { |
547 |
$_->[1] = substr($old, 0, $pos) . $val . substr($old, $pos + length($val)); |
$_->[1] = substr($old, 0, $pos) . $val . substr($old, $pos + length($val)); |
548 |
warn "## marc_fixed($f,$pos,'$val') update '$old' -> '$_->[1]'\n"; |
warn "## marc_fixed($f,$pos,'$val') update '$old' -> '$_->[1]'\n" if ($debug > 1); |
549 |
} |
} |
550 |
$update++; |
$update++; |
551 |
} |
} |
554 |
if (! $update) { |
if (! $update) { |
555 |
my $v = ' ' x $pos . $val; |
my $v = ' ' x $pos . $val; |
556 |
push @{ $marc_record->[ $marc_record_offset ] }, [ $f, $v ]; |
push @{ $marc_record->[ $marc_record_offset ] }, [ $f, $v ]; |
557 |
warn "## marc_fixed($f,$pos,'val') created '$v'\n"; |
warn "## marc_fixed($f,$pos,'val') created '$v'\n" if ($debug > 1); |
558 |
} |
} |
559 |
} |
} |
560 |
|
|