Net::Z3950::Simple2ZOOM(3) Gateway between Z39.50 and SRU/SRW


use Net::Z3950::Simple2ZOOM;
$s2z = new Net::Z3950::Simple2ZOOM("somefile.xml");
$s2z->launch_server("someServer", @ARGV);


The "Net::Z3950::Simple2ZOOM" module provides all the application logic of a generic ``Swiss Army Gateway'' between Z39.50 and SRU. It is used by the "simple2zoom" program, and there is probably no good reason to make any other program to use it. For that reason, this library-level documentation is more than usually terse.

The library has only two public entry points: the "new()" constructor and the "launch_server()" method. The synopsis above shows how they are used: a Simple2ZOOM object is created using "new()", then the "launch_server()" method is invoked on it to --- get ready for a big surprise here --- launch the server. (In fact, this synopsis is essentially the whole of the code of the "simple2zoom" program. All the work happens inside the library.)



 $s2z = new Net::Z3950::Simple2ZOOM("somefile.xml");

Creates and returns a new Simple2ZOOM object, configured according to the XML file $configFile that is the only argument. The format of this file is described in "Net::Z3950::Simple2ZOOM::Config".

launch_server($label, @ARGV)

 $s2z->launch_server("someServer", @ARGV);

Launches the Simple2ZOOM server: this method never returns. The $label string is used in logging, and the @ARGV vector of command-line arguments is interpreted by the YAZ backend server as described at


Sebastian Hammer <[email protected]>

Mike Taylor <[email protected]>


Copyright (C) 2007 by Index Data.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.