#!/usr/local/bin/perl -w =pod If this text is displayed on your browser then your web server is not configured to run .cgi programs. =cut use strict; use CGI; my $swish_binary = './swish-e'; my $q = CGI->new; print $q->header, header(), $q->start_form, '
',
          $q->end_form;
    show_results( $q ) if $q->param('query');
    print footer();
    
#============================================
sub show_results {
    my $q = shift;
    my $query = $q->param('query') || '';
    for ( $query ) {
        s/^\s+//;
        s/\s+$//;
        tr/\0//d;
    }
    return unless $query;
    my $pid;
    if ( $pid = open( SWISH, '-|' ) ) {
        my @rows;
        while ( 
EOF
}
sub footer {
    return < 
    Found: ',
                  scalar @rows,
                  (scalar @rows > 1) ? ' hits' : ' hit',
                  '
';
                  
            unshift @rows, $q->th(['Rank','Title','Length']);
            print $q->table({align=>'center'}, $q->Tr( \@rows ) );
        } else {
            print 'Failed to find any results
';
        }
    } else {
        unless ( defined $pid ) {
            print "Failed to Fork: $!
";
            return;
        }
        
        exec $swish_binary,
            '-w', $query,
            '-d','::';
        die "Failed to exec '$swish_binary' Error:$!";
    }
}
sub header {
    return <
        
    
        
        
        
    ![]()