/[webpac2]/branches/Sack/lib/WebPAC/Input/ISI.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 /branches/Sack/lib/WebPAC/Input/ISI.pm

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

revision 1215 by dpavlin, Tue Jun 2 13:16:02 2009 UTC revision 1302 by dpavlin, Sun Sep 20 19:05:56 2009 UTC
# Line 105  sub new { Line 105  sub new {
105          my $rec;          my $rec;
106    
107          $self->{size} = 0;          $self->{size} = 0;
108            my $max_size;
109            $max_size = ( $self->{offset} || 0 ) + $self->{limit} if $self->{limit};
110    
111            warn "# max_size: $max_size";
112    
113          while( $line = <$fh> ) {          while( $line = <$fh> ) {
114                  chomp($line);                  chomp($line);
# Line 124  sub new { Line 128  sub new {
128                                  }                                  }
129                  } elsif ( $line eq 'ER' ) {                  } elsif ( $line eq 'ER' ) {
130                          # join tags                          # join tags
131                          foreach ( qw/AB DE ID TI SO RP SC/ ) {                          foreach ( qw/AB DE ID TI SO RP SC FU FX PA JI/ ) {
132                                  $rec->{$_} = join(' ', @{ $rec->{$_} }) if defined $rec->{$_};                                  $rec->{$_} = join(' ', @{ $rec->{$_} }) if defined $rec->{$_};
133                          }                          }
134                            # split on ;
135                            foreach ( qw/ID SC DE/ ) {
136                                    $rec->{$_} = [ split(/;\s/, $rec->{$_}) ] if defined $rec->{$_};
137                            }
138                          $rec->{'000'} = [ ++$self->{size} ];                          $rec->{'000'} = [ ++$self->{size} ];
139                          push @{ $self->{_rec} }, $rec;                          push @{ $self->{_rec} }, $rec;
140    
141                            last if $max_size && $self->{size} == $max_size;
142    
143                          $rec = {};                          $rec = {};
144                          $line = <$fh>;                          $line = <$fh>;
145                          chomp $line;                          chomp $line;
146                          $log->logdie("expected blank like in ",$arg->{path}, " +$.: $line") unless ( $line eq '' );                          $log->logdie("expected blank like in ",$arg->{path}, " +$.: $line") unless ( $line eq '' );
147                  } elsif ( $line eq 'EF' ) {                  } elsif ( $line eq 'EF' ) {
148                          last;                          last;
149                    } elsif ( $line =~ m{^(\S\S)\s*$} ) {
150                            warn "# $arg->{path} +$. empty |$line|\n";
151                  } else {                  } else {
152                          $log->logdie("can't parse +$. $arg->{path} : $line");                          $log->logdie("can't parse +$. $arg->{path} |$line|");
153                  }                  }
154    
155                  if ( defined $v ) {                  if ( defined $v ) {

Legend:
Removed from v.1215  
changed lines
  Added in v.1302

  ViewVC Help
Powered by ViewVC 1.1.26