NAME
Catmandu::Importer::Z3950 - Package that imports Z3950 data
Returns the raw response. So the output depends on the preferredRecordSyntax.
You could use the MARC::Record package to parse the MARC output blob.
SYNOPSIS
use Catmandu::Importer::Z3950;
my %attrs = (
host => 'z3950.loc.gov',
port => 7090,
databaseName => "Voyager",
preferredRecordSyntax => "USMARC",
queryType => 'PQF', # CQL or PQF
query => '@attr 1=4 dinosaur'
);
my $importer = Catmandu::Importer::Z3950->new(%attrs);
my $n = $importer->each(sub {
my $hashref = $_[0];
...
});
print "DONE. ($n). \n";
`host`, `database` and `query` are required, `user` and `user` are optional.
`port`, `preferredRecordSyntax` and `queryType` will default to 210 'USMARC' and 'CQL' respectively.
REMARK
This package uses the ZOOM package internally. For more info visit: http://search.cpan.org/~mirk/Net-Z3950-ZOOM-1.28/lib/ZOOM.pod
The ZOOM package has a hard dependency on YAZ toolkit. For more info about YAZ, visit: https://www.indexdata.com/yaz
Installing YAZ: - (osx, using homebrew): brew install yaz - (linux, using yum): yum install yaz libyaz