24 |
|
|
25 |
#use base qw/WebPAC::Common/; |
#use base qw/WebPAC::Common/; |
26 |
use Data::Dump qw/dump/; |
use Data::Dump qw/dump/; |
|
use Encode qw/from_to/; |
|
27 |
use Storable qw/dclone/; |
use Storable qw/dclone/; |
28 |
|
|
29 |
# debugging warn(s) |
# debugging warn(s) |
36 |
|
|
37 |
=head1 VERSION |
=head1 VERSION |
38 |
|
|
39 |
Version 0.17 |
Version 0.18 |
40 |
|
|
41 |
=cut |
=cut |
42 |
|
|
43 |
our $VERSION = '0.17'; |
our $VERSION = '0.18'; |
44 |
|
|
45 |
=head1 SYNOPSIS |
=head1 SYNOPSIS |
46 |
|
|
469 |
foreach (@_) { |
foreach (@_) { |
470 |
my $v = $_; # make var read-write for Encode |
my $v = $_; # make var read-write for Encode |
471 |
next unless (defined($v) && $v !~ /^\s*$/); |
next unless (defined($v) && $v !~ /^\s*$/); |
|
from_to($v, 'iso-8859-2', $marc_encoding) if ($marc_encoding); |
|
472 |
my ($i1,$i2) = defined($marc_indicators->{$f}) ? @{ $marc_indicators->{$f} } : (' ',' '); |
my ($i1,$i2) = defined($marc_indicators->{$f}) ? @{ $marc_indicators->{$f} } : (' ',' '); |
473 |
if (defined $sf) { |
if (defined $sf) { |
474 |
push @{ $marc_record->[ $marc_record_offset ] }, [ $f, $i1, $i2, $sf => $v ]; |
push @{ $marc_record->[ $marc_record_offset ] }, [ $f, $i1, $i2, $sf => $v ]; |
548 |
my $v = shift; |
my $v = shift; |
549 |
|
|
550 |
next unless (defined($v) && $v !~ /^\s*$/); |
next unless (defined($v) && $v !~ /^\s*$/); |
|
from_to($v, 'iso-8859-2', $marc_encoding) if ($marc_encoding); |
|
551 |
warn "## ++ marc_compose($f,$sf,$v) ", dump( $m ),$/ if ($debug > 1); |
warn "## ++ marc_compose($f,$sf,$v) ", dump( $m ),$/ if ($debug > 1); |
552 |
if ($sf ne '+') { |
if ($sf ne '+') { |
553 |
push @$m, ( $sf, $v ); |
push @$m, ( $sf, $v ); |
728 |
|
|
729 |
sub _pack_subfields_hash { |
sub _pack_subfields_hash { |
730 |
|
|
731 |
warn "## _pack_subfields_hash( ",dump(@_), " )\n"; |
warn "## _pack_subfields_hash( ",dump(@_), " )\n" if ($debug > 1); |
732 |
|
|
733 |
my ($h,$include_subfields) = @_; |
my ($h,$include_subfields) = @_; |
734 |
|
|
774 |
my @out; |
my @out; |
775 |
foreach my $h ( @{ $rec->{$f} } ) { |
foreach my $h ( @{ $rec->{$f} } ) { |
776 |
if (ref($h) eq 'HASH') { |
if (ref($h) eq 'HASH') { |
|
warn "rec1 hash: ",dump($h),"\n"; |
|
777 |
push @out, ( _pack_subfields_hash( $h ) ); |
push @out, ( _pack_subfields_hash( $h ) ); |
778 |
} else { |
} else { |
779 |
push @out, $h; |
push @out, $h; |