projects
/
MARC-Fast
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix repeatable subfields in to_hash
[MARC-Fast]
/
lib
/
MARC
/
Fast.pm
diff --git
a/lib/MARC/Fast.pm
b/lib/MARC/Fast.pm
index
aef3d5b
..
35a1e6a
100644
(file)
--- a/
lib/MARC/Fast.pm
+++ b/
lib/MARC/Fast.pm
@@
-333,18
+333,20
@@
sub to_hash {
foreach my $t (split(/\x1F/,$l)) {
next if (! $t);
my $f = substr($t,0,1);
foreach my $t (split(/\x1F/,$l)) {
next if (! $t);
my $f = substr($t,0,1);
+ my $v = substr($t,1);
push @subfields, ( $f, $sf_usage->{$f}++ || 0 );
# repeatable subfiled -- convert it to array
push @subfields, ( $f, $sf_usage->{$f}++ || 0 );
# repeatable subfiled -- convert it to array
- if (
$val->{$f}
) {
+ if (
defined $val->{$f}
) {
if ( ref($val->{$f}) ne 'ARRAY' ) {
if ( ref($val->{$f}) ne 'ARRAY' ) {
- $val->{$f} = [ $val->{$f}, $v
al
];
+ $val->{$f} = [ $val->{$f}, $v ];
} else {
} else {
- push @{$val->{$f}}, $v
al
;
+ push @{$val->{$f}}, $v;
}
}
+ } else {
+ $val->{$f} = $v;
}
}
- $val->{substr($t,0,1)} = substr($t,1);
}
$val->{subfields} = [ @subfields ] if $args->{include_subfields};
} else {
}
$val->{subfields} = [ @subfields ] if $args->{include_subfields};
} else {