--- trunk/lib/WebPAC/Normalize.pm 2006/07/04 11:36:21 582 +++ trunk/lib/WebPAC/Normalize.pm 2006/07/05 00:12:08 583 @@ -504,6 +504,8 @@ my ($i1,$i2) = defined($marc_indicators->{$f}) ? @{ $marc_indicators->{$f} } : (' ',' '); my $m = [ $f, $i1, $i2 ]; + warn "### marc_compose input subfields = ", dump(@_),$/ if ($debug > 2); + while (@_) { my $sf = shift or die "marc_compose $f needs subfield"; my $v = shift; @@ -660,10 +662,16 @@ =cut sub rec { + my @out; if ($#_ == 0) { - return rec1(@_); + @out = rec1(@_); } elsif ($#_ == 1) { - return rec2(@_); + @out = rec2(@_); + } + if (@out) { + return @out; + } else { + return ''; } } @@ -769,7 +777,9 @@ sub join_with { my $d = shift; - return join($d, grep { defined($_) && $_ ne '' } @_); + my $v = join($d, grep { defined($_) && $_ ne '' } @_); + return '' unless defined($v); + return $v; } =head2 split_rec_on