722 |
|
|
723 |
=head2 _pack_subfields_hash |
=head2 _pack_subfields_hash |
724 |
|
|
725 |
@values = _pack_subfields_hash( $h, $include_subfields ) |
@subfields = _pack_subfields_hash( $h ); |
726 |
|
$subfields = _pack_subfields_hash( $h, 1 ); |
727 |
|
|
728 |
|
Return each subfield value in array or pack them all together and return scalar |
729 |
|
with subfields (denoted by C<^>) and values. |
730 |
|
|
731 |
=cut |
=cut |
732 |
|
|
745 |
my $o = shift @$sfs; |
my $o = shift @$sfs; |
746 |
if ($o == 0 && ref( $h->{$sf} ) ne 'ARRAY' ) { |
if ($o == 0 && ref( $h->{$sf} ) ne 'ARRAY' ) { |
747 |
# single element subfields are not arrays |
# single element subfields are not arrays |
748 |
warn "====> $sf $o / $#$sfs ", dump( $sfs, $h->{$sf} ), "\n"; |
#warn "====> $sf $o / $#$sfs ", dump( $sfs, $h->{$sf} ), "\n"; |
749 |
|
|
750 |
push @out, $h->{$sf}; |
push @out, $h->{$sf}; |
751 |
} else { |
} else { |
752 |
warn "====> $sf $o / $#$sfs ", dump( $sfs, $h->{$sf} ), "\n"; |
#warn "====> $sf $o / $#$sfs ", dump( $sfs, $h->{$sf} ), "\n"; |
753 |
push @out, $h->{$sf}->[$o]; |
push @out, $h->{$sf}->[$o]; |
754 |
} |
} |
755 |
} |
} |