/[Biblio-Isis]/trunk/lib/Biblio/Isis.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Biblio/Isis.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 69 by dpavlin, Sun Oct 29 15:37:43 2006 UTC revision 70 by dpavlin, Fri May 18 20:26:01 2007 UTC
# Line 7  use File::Glob qw(:globally :nocase); Line 7  use File::Glob qw(:globally :nocase);
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 ();
# Line 128  Define delimiter which will be used to j Line 128  Define delimiter which will be used to j
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
# Line 139  sub new { Line 143  sub new {
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    
# Line 384  sub fetch { Line 388  sub fetch {
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;
# Line 758  older versions if you really have to): Line 770  older versions if you really have to):
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>

Legend:
Removed from v.69  
changed lines
  Added in v.70

  ViewVC Help
Powered by ViewVC 1.1.26