warn "<< $line\n";
if ( $line =~ m/^<(\d+)>$/ ) {
- my $expect_rec = $#{ $self->{_rec} } + 2;
- warn "wrong Ovid record number: $1 != $expect_rec" unless $1 == $expect_rec;
push @{ $self->{_rec} }, $rec if $rec;
warn "## rec = ",dump( $rec ),$/;
- $rec = { '000' => $1 };
+ my $expect_rec = $#{ $self->{_rec} } + 2;
+ warn "wrong Ovid record number: $1 != $expect_rec" unless $1 == $expect_rec;
+ $rec = { '000' => [ $1 ] };
} elsif ( $line =~ /^(\w.+)/ ) {
$tag = $1;
warn "++ $tag\n";
} elsif ( $line =~ /^\s\s(.+)/ ) {
my $v = $1;
$v =~ s{[\s\.]+$}{};
- $rec->{$tag} = $v;
+ $rec->{$tag} = [ $v ];
} else {
warn "### skip: '$line'\n";
}
# save last rec
push @{ $self->{_rec} }, $rec if $rec;
- $self->{size} = $#{ $self->{_rec} } + 1;
$log->debug("loaded ", $self->size, " records");
sub size {
my $self = shift;
- return $self->{size};
+ return $#{ $self->{_rec} } + 1;
}
=head1 AUTHOR
use strict;
use blib;
-use Test::More tests => 63;
+use Test::More tests => 48;
BEGIN {
use_ok( 'WebPAC::Test' );
path => "$abs_path/data/ovid-cites.txt"
), "open");
ok(my $size = $input->size, "size");
-cmp_ok( $size, '==', 95, 'size ok' );
+cmp_ok( $size, '==', 14, 'size ok' );
foreach my $mfn ( 1 ... $size ) {
my $rec = $input->fetch;