blob: ff7bb5fa6fc32fea2f1ad48b36e6a5865b77874d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package Catmandu::Importer::Z3950::Parser::UNIMARC;
use Catmandu::Sane;
use MARC::Parser::RAW;
use Moo;
our $VERSION = '0.06';
has 'id' => (is => 'ro' , default => sub { '001'} );
sub parse {
my ($self,$str) = @_;
my $sysid = undef;
return undef unless defined $str;
my $record = MARC::Parser::RAW->new(\$str)->next();
foreach my $field (@$record) {
if ($field->[0] eq '001') {
$sysid = $field->[4];
}
}
return { _id => $sysid , record => $record };
}
1;
|