504 |
my ($i1,$i2) = defined($marc_indicators->{$f}) ? @{ $marc_indicators->{$f} } : (' ',' '); |
my ($i1,$i2) = defined($marc_indicators->{$f}) ? @{ $marc_indicators->{$f} } : (' ',' '); |
505 |
my $m = [ $f, $i1, $i2 ]; |
my $m = [ $f, $i1, $i2 ]; |
506 |
|
|
507 |
|
warn "### marc_compose input subfields = ", dump(@_),$/ if ($debug > 2); |
508 |
|
|
509 |
while (@_) { |
while (@_) { |
510 |
my $sf = shift or die "marc_compose $f needs subfield"; |
my $sf = shift or die "marc_compose $f needs subfield"; |
511 |
my $v = shift; |
my $v = shift; |
662 |
=cut |
=cut |
663 |
|
|
664 |
sub rec { |
sub rec { |
665 |
|
my @out; |
666 |
if ($#_ == 0) { |
if ($#_ == 0) { |
667 |
return rec1(@_); |
@out = rec1(@_); |
668 |
} elsif ($#_ == 1) { |
} elsif ($#_ == 1) { |
669 |
return rec2(@_); |
@out = rec2(@_); |
670 |
|
} |
671 |
|
if (@out) { |
672 |
|
return @out; |
673 |
|
} else { |
674 |
|
return ''; |
675 |
} |
} |
676 |
} |
} |
677 |
|
|
777 |
|
|
778 |
sub join_with { |
sub join_with { |
779 |
my $d = shift; |
my $d = shift; |
780 |
return join($d, grep { defined($_) && $_ ne '' } @_); |
my $v = join($d, grep { defined($_) && $_ ne '' } @_); |
781 |
|
return '' unless defined($v); |
782 |
|
return $v; |
783 |
} |
} |
784 |
|
|
785 |
=head2 split_rec_on |
=head2 split_rec_on |