--- trunk/lib/WebPAC/Normalize.pm 2006/07/23 17:33:11 601 +++ trunk/lib/WebPAC/Normalize.pm 2006/07/23 20:19:56 603 @@ -35,11 +35,11 @@ =head1 VERSION -Version 0.14 +Version 0.15 =cut -our $VERSION = '0.14'; +our $VERSION = '0.15'; =head1 SYNOPSIS @@ -525,6 +525,9 @@ 'c', rec('200','c') ); +If you specify C<+> for subfield, value will be appended +to previous defined subfield. + =cut sub marc_compose { @@ -542,8 +545,12 @@ next unless (defined($v) && $v !~ /^\s*$/); from_to($v, 'iso-8859-2', $marc_encoding) if ($marc_encoding); - push @$m, ( $sf, $v ); warn "## ++ marc_compose($f,$sf,$v) ", dump( $m ),$/ if ($debug > 1); + if ($sf ne '+') { + push @$m, ( $sf, $v ); + } else { + $m->[ $#$m ] .= $v; + } } warn "## marc_compose current marc = ", dump( $m ),$/ if ($debug > 1);