NAME

SWISH::Fork - Perl extension for accessing the SWISH-E search engine via a fork/exec.

SYNOPSIS

use SWISH;

$sh = SWISH->connect('Fork',
   prog     => '/usr/local/bin/swish-e',
   indexes  => 'index.swish-e',
   results  => sub { print $_[1]->as_string,"\n" },
);

DESCRIPTION

This module is a driver for the SWISH search engine using the forked access method. Please see SWISH for usage instructions.

This module has been tested with the following versions of SWISH-E

1.2.4
1.3.2
2.0.4
2.1 (pre 2.2 development version)

NOTE: This module is now depreciated. Use the SWISH::API module instead. SWISH::API is bundled with Swish-e version 2.4.0, but will soon be available from the CPAN. SWISH::API is an xs interface to the Swish-e library.

REQUIRED MODULES

The following module is required (and needs to be installed before installing this module.

SWISH - the front-end for module for accessing the SWISH search engine.

These modules are required, but are standard.

Symbol - localized file handles (standard module)

IO::Handle - For flushing buffers

This module is not required, but *should* be installed when running under mod_perl or any situation where a C signal handler must be restored. (Under mod_perl we need to restore Apache's SIGALRM handler.) The module will only be used if installed, otherwise will fall back to $SIG{ALRM}.

Sys::Signal - Use instead of C<local $SIG{ALRM}> to restore signal handlers.
Should be fixed in Perl 5.6.1, but check with the mod_perl list.

RUNNING UNDER Win32

This module will run under Windows, but uses a piped open to run Swish, and does not offer timeout support. In addition, parameters passed to swish are blindly untainted -- shell escapes are not removed. All parameters are placed in double-quotes when running under Win32. Please let me know if there's a better way under Win32.

It is recommended that the security issues of running CGI scripts under Windows be carefully considered.

AUTHOR

Bill Moseley -- moseley@hank.org

SEE ALSO

SWISH