use warnings;
use strict;
-use MARC::Fast;
+use MARC::Fast 0.03;
=head1 NAME
=head1 VERSION
-Version 0.02
+Version 0.05
=cut
-our $VERSION = '0.02';
+our $VERSION = '0.05';
=head1 SYNOPSIS
Returns handle to database
my $db = $open_db(
- path => '/path/to/marc.iso'
+ path => '/path/to/marc.iso',
+ filter => \&code_ref,
}
=cut
$log->info("opening MARC database '$arg->{path}'");
- my $db = new MARC::Fast( marcdb => $arg->{path});
+ my $db = new MARC::Fast(
+ marcdb => $arg->{path},
+ hash_filter => $arg->{filter},
+ );
my $db_size = $db->count - 1; # FIXME
- $self->{size} = $db_size;
+ $self->{_marc_size} = $db_size;
return ($db, $db_size);
}
my ($db, $mfn) = @_;
- if ($mfn > $self->{size}) {
- $self->_get_logger()->warn("seek beyond database size $self->{size} to $mfn");
+ if ($mfn > $self->{_marc_size}) {
+ $self->_get_logger()->warn("seek beyond database size $self->{_marc_size} to $mfn");
} else {
- my $row = $db->fetch($mfn);
+ my $row = $db->to_hash($mfn);
push @{$row->{'000'}}, $mfn;
return $row;
}
}
+=head1 PROPERTIES
+
+=head2 _marc_size
+
+Store size of MARC database
+
+ print $self->{_marc_size};
+
+
+
=head1 AUTHOR
Dobrica Pavlinusic, C<< <dpavlin@rot13.org> >>