/[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 61 by dpavlin, Sun Jul 9 21:36:33 2006 UTC revision 64 by dpavlin, Thu Jul 13 13:27:27 2006 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.22_1;          $VERSION     = 0.22_2;
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 84  Open ISIS database Line 84  Open ISIS database
84          read_fdt => 1,          read_fdt => 1,
85          include_deleted => 1,          include_deleted => 1,
86          hash_filter => sub {          hash_filter => sub {
87                  my $v = shift;                  my ($v,$field_number) = @_;
88                  $v =~ s#foo#bar#g;                  $v =~ s#foo#bar#g;
89          },          },
90          debug => 1,          debug => 1,
# Line 519  There is also more elaborative way to ca Line 519  There is also more elaborative way to ca
519    my $hash = $isis->to_hash({    my $hash = $isis->to_hash({
520          mfn => 42,          mfn => 42,
521          include_subfields => 1,          include_subfields => 1,
         regexps => [  
                 's/something/else/g',  
         ],  
522    });    });
523    
524  Each option controll creation of hash:  Each option controll creation of hash:
# Line 565  sub to_hash { Line 562  sub to_hash {
562                  $mfn = $arg->{mfn} || confess "need mfn in arguments";                  $mfn = $arg->{mfn} || confess "need mfn in arguments";
563          }          }
564    
         confess "regexps must be HASH" if ($arg->{regexps} && ref($arg->{regexps}) ne 'HASH');  
   
565          # init record to include MFN as field 000          # init record to include MFN as field 000
566          my $rec = { '000' => [ $mfn ] };          my $rec = { '000' => [ $mfn ] };
567    
# Line 581  sub to_hash { Line 576  sub to_hash {
576    
577                          # filter output                          # filter output
578                          if ($self->{'hash_filter'}) {                          if ($self->{'hash_filter'}) {
579                                  $l = $self->{'hash_filter'}->($l);                                  $l = $self->{'hash_filter'}->($l, $f_nr);
580                                  next unless defined($l);                                  next unless defined($l);
581                          }                          }
582    
                         # apply regexps  
                         if ($arg->{regexps} && defined($arg->{regexps}->{$f_nr})) {  
                                 confess "regexps->{$f_nr} must be ARRAY" if (ref($arg->{regexps}->{$f_nr}) ne 'ARRAY');  
                                 my $c = 0;  
                                 foreach my $r (@{ $arg->{regexps}->{$f_nr} }) {  
                                         while ( eval '$l =~ ' . $r ) { $c++ };  
                                 }  
                                 warn "## field $f_nr triggered $c regexpes\n" if ($c && $self->{debug});  
                         }  
   
583                          my $val;                          my $val;
584                          my $r_sf;       # repeatable subfields in this record                          my $r_sf;       # repeatable subfields in this record
585    

Legend:
Removed from v.61  
changed lines
  Added in v.64

  ViewVC Help
Powered by ViewVC 1.1.26