7 |
BEGIN { |
BEGIN { |
8 |
use Exporter (); |
use Exporter (); |
9 |
use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); |
use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); |
10 |
$VERSION = 0.23; |
$VERSION = 0.24_1; |
11 |
@ISA = qw (Exporter); |
@ISA = qw (Exporter); |
12 |
#Give a hoot don't pollute, do not export more than needed by default |
#Give a hoot don't pollute, do not export more than needed by default |
13 |
@EXPORT = qw (); |
@EXPORT = qw (); |
128 |
option is included to support lagacy application written against version |
option is included to support lagacy application written against version |
129 |
older than 0.21 of this module. By default, it disabled. See L</to_hash>. |
older than 0.21 of this module. By default, it disabled. See L</to_hash>. |
130 |
|
|
131 |
|
=item ignore_empty_subfields |
132 |
|
|
133 |
|
Remove all empty subfields while reading from ISIS file. |
134 |
|
|
135 |
=back |
=back |
136 |
|
|
137 |
=cut |
=cut |
143 |
|
|
144 |
croak "new needs database name (isisdb) as argument!" unless ({@_}->{isisdb}); |
croak "new needs database name (isisdb) as argument!" unless ({@_}->{isisdb}); |
145 |
|
|
146 |
foreach my $v (qw{isisdb debug include_deleted hash_filter join_subfields_with}) { |
foreach my $v (qw{isisdb debug include_deleted hash_filter join_subfields_with ignore_empty_subfields}) { |
147 |
$self->{$v} = {@_}->{$v} if defined({@_}->{$v}); |
$self->{$v} = {@_}->{$v} if defined({@_}->{$v}); |
148 |
} |
} |
149 |
|
|
388 |
# skip zero-sized fields |
# skip zero-sized fields |
389 |
next if ($FieldLEN[$i] == 0); |
next if ($FieldLEN[$i] == 0); |
390 |
|
|
391 |
push @{$self->{record}->{$FieldTAG[$i]}}, substr($buff,$FieldPOS[$i],$FieldLEN[$i]); |
my $v = substr($buff,$FieldPOS[$i],$FieldLEN[$i]); |
392 |
|
|
393 |
|
if ( $self->{ignore_empty_subfields} ) { |
394 |
|
$v =~ s/(\^\w)+(\^\w)/$2/g; |
395 |
|
$v =~ s/\^\w$//; # last on line? |
396 |
|
next if ($v eq ''); |
397 |
|
} |
398 |
|
|
399 |
|
push @{$self->{record}->{$FieldTAG[$i]}}, $v; |
400 |
} |
} |
401 |
|
|
402 |
$self->{'current_mfn'} = $mfn; |
$self->{'current_mfn'} = $mfn; |
770 |
|
|
771 |
=over 8 |
=over 8 |
772 |
|
|
773 |
|
=item 0.24 |
774 |
|
|
775 |
|
Added C<ignore_empty_subfields> |
776 |
|
|
777 |
=item 0.23 |
=item 0.23 |
778 |
|
|
779 |
Added C<hash_filter> to L</to_hash> |
Added C<hash_filter> to L</to_hash> |