73 |
# print STDERR "\n#### $f"; |
# print STDERR "\n#### $f"; |
74 |
# this is EBSCO special to support numeric subfield in |
# this is EBSCO special to support numeric subfield in |
75 |
# form of 856#3 |
# form of 856#3 |
76 |
if ($f =~ s/^(\d\d\d)#*(\w?)//) { |
if ($f =~ s/^(\d\d\d*)#*(\w?)//) { |
77 |
push @fmt,$1; |
push @fmt,$1; |
78 |
if ($2) { |
if ($2) { |
79 |
push @fmt,$2; |
push @fmt,$2; |
163 |
sub fld2str { |
sub fld2str { |
164 |
my ($func,$row,$f,$sf,$i) = @_; |
my ($func,$row,$f,$sf,$i) = @_; |
165 |
#print STDERR "## in fld2str\n"; |
#print STDERR "## in fld2str\n"; |
166 |
my $tmp = &$func($row,$f,$sf,$i) || ''; |
my $tmp = $codepage->convert(&$func($row,$f,$sf,$i)) || ''; |
167 |
return "'$tmp'"; |
return "'$tmp'"; |
168 |
} |
} |
169 |
|
|
224 |
} elsif ($format =~ s/^([^A-Z\|]+)(\|[A-Z]{1,2}\|)/$2/) { |
} elsif ($format =~ s/^([^A-Z\|]+)(\|[A-Z]{1,2}\|)/$2/) { |
225 |
$prefix .= $1 if ($display); |
$prefix .= $1 if ($display); |
226 |
} else { |
} else { |
227 |
print STDERR "unparsed format: $format\n"; |
#print STDERR "unparsed format: $format\n"; |
228 |
$prefix .= $format; |
$prefix .= $format; |
229 |
$format = ""; |
$format = ""; |
230 |
} |
} |