my $rec;
$self->{size} = 0;
+ my $max_size;
+ $max_size = ( $self->{offset} || 0 ) + $self->{limit} if $self->{limit};
+
+ warn "# max_size: $max_size";
while( $line = <$fh> ) {
chomp($line);
}
} elsif ( $line eq 'ER' ) {
# join tags
- foreach ( qw/AB DE ID TI SO RP SC/ ) {
+ foreach ( qw/AB DE ID TI SO RP SC FU FX/ ) {
$rec->{$_} = join(' ', @{ $rec->{$_} }) if defined $rec->{$_};
}
+ # split on ;
+ foreach ( qw/ID SC DE/ ) {
+ $rec->{$_} = [ split(/;\s/, $rec->{$_}) ] if defined $rec->{$_};
+ }
$rec->{'000'} = [ ++$self->{size} ];
push @{ $self->{_rec} }, $rec;
+
+ last if $max_size && $self->{size} == $max_size;
+
$rec = {};
$line = <$fh>;
chomp $line;