1 # $Id: ZOOM.pod,v 1.2 2005-11-15 17:23:45 mike Exp $
8 ZOOM - Perl extension implementing the ZOOM API for Information Retrieval
14 $conn = new ZOOM::Connection($host, $port)
15 $conn->option(preferredRecordSyntax => "usmarc");
16 $rs = $conn->search_pqf('@attr 1=4 dinosaur');
18 print $rs->record(0)->render();
21 print "Error ", $@->code(), ": ", $@->message(), "\n";
26 This module provides a nice, Perlish implementation of the ZOOM
27 Abstract API described at http://zoom.z3950.org/api/
29 the ZOOM module is implemented as a set of thin classes on top of the
30 non-OO functions provided by this distribution's C<Net::Z3950::ZOOM>
32 turn is a thin layer on top of the ZOOM-C code supplied as part of
33 Index Data's YAZ Toolkit. Because ZOOM-C is also the underlying code
34 that implements ZOOM bindings in C++, Visual Basic, Scheme, Ruby, .NET
35 (including C#) and other languages, this Perl module works compatibly
36 with those other implementations. (Of course, the point of a public
37 API such as ZOOM is that all implementations should be compatible
38 anyway; but knowing that the same code is running is reassuring.)
40 The ZOOM module provides two enumerations (C<ZOOM::Error> and
41 C<ZOOM::Event>), a single utility function C<diag_str()> in the C<ZOOM>
42 package itself, and eight classes:
52 Of these, the Query class is abstract, and has two concrete
57 Many useful ZOOM applications can be built using only the Connection,
58 ResultSet and Record classes, as in the example code-snippet above.
63 The C<Net::Z3950::ZOOM> module, included in the same distribution as this one.
65 The C<Net::Z3950> module, which this one supersedes.
69 Mike Taylor, E<lt>mike@indexdata.comE<gt>
71 =head1 COPYRIGHT AND LICENCE
73 Copyright (C) 2005 by Index Data.
75 This library is free software; you can redistribute it and/or modify
76 it under the same terms as Perl itself, either Perl version 5.8.4 or,
77 at your option, any later version of Perl 5 you may have available.