From 29e5fa7ca2cd3531ebc319f480a3ae2a983bed2c Mon Sep 17 00:00:00 2001 From: Matthias Meusburger Date: Fri, 5 Mar 2010 17:25:37 +0100 Subject: [PATCH 1/1] MT 2116, Follow-up : Fix subfield separator --- C4/Record.pm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/C4/Record.pm b/C4/Record.pm index b274fd7e5e..25df9ad65f 100644 --- a/C4/Record.pm +++ b/C4/Record.pm @@ -517,8 +517,19 @@ sub marcrecord2csv { foreach (@fields) { my $value; - # Getting authorised value - $value = defined $authvalues->{$_->as_string} ? $authvalues->{$_->as_string} : $_->as_string; + # If it is a control field + if ($_->is_control_field) { + $value = defined $authvalues->{$_->as_string} ? $authvalues->{$_->as_string} : $_->as_string; + } else { + + # If it is a field, we gather all subfields, joined by the subfield separator + my @subvaluesarray; + my @subfields = $_->subfields; + foreach my $subfield (@subfields) { + push (@subvaluesarray, defined $authvalues->{$subfield->[1]} ? $authvalues->{$subfield->[1]} : $subfield->[1]); + } + $value = join ($subfieldseparator, @subvaluesarray); + } # Field processing eval $fieldprocessing if ($fieldprocessing); -- 2.20.1