Thank you Eric. That indeed fixed that problem. Still am getting
giant *_error.log files from httpd because the following lines
generate ditto errors:
62: #return $self->{body_count} += $count;
69: #return $self->{date_count} += $count;
76: #return $self->{from_count} += $count;
83: #return $self->{subj_count} += $count;
Am unfamiliar with the '->' operator (p10, my perl book actually tells
me perl does not have such an "structure member"). Commenting these
lines out results in a smooth marc-search, error free, searches
with 0 matches reported as found (ofcourse). Still reading code to
understand what is happening.
-Henk
|[mhonarc list cc'd so that others are aware of a forthcoming nug fix
|for marc-search]
|
|Earl tells me that the <PRE></PRE> tags that surround message
|bodies are not guaranteed to appear at the beginning of the line.
|In fact, he says, they may not be present at all. If one of your
|messages has the </PRE> tag somewhere else, then, it won't be
|spotted by marc-search, which will happily go on reading from an
|exhuasted filehandle (hence the undefined values & loop).
|
|Solution (soon to be implemented by me, though maybe not today):
|change the pattern match in Search.pm where the message body is
|retrieved.
|
|This part:
|while (<FH>)
| {
| # Messages are contained between <PRE></PRE> tags
| next unless (/^<PRE>/);
| $_ = <FH>;
| while ($_ !~ m,^</PRE>,)
|
|should be changed so that MhonArc's special comment tags are used,
|since these are guaranteed to be present and at the beginning of the
|line.
|
|replace /^<PRE>/ with /^<!--X-Body-of-Message-->/
|and m,^</PRE>, with /^<!--X-MsgBody-End-->/
|
|Honestly, I just learned about this yesterday and just haven't had a
|minute to spare. Apologies,
|
|Eric
|
|:
|: Eric, installed marc-search.cgi but encountered an undocumented problem.
|: Installation did not encounter any problems, and a list can be accessed
|: (see http://plue.sedac.ciesin.org/plue/hyperlists/agis-l/). The cgi
|: program also works fine, at first glance. Upon a search the client
|: receives correct data for correct search terms and then stops receiving
|: data. However, behind the screens, the perl program has disappeared
|: into a loop and causes the httpd daemon to dump endless error records
|: in the www log files. See below.
|:
|: All parameters of our system are listed below, including results of
|: installationa and configurable parameters. The "Search" link for the
|: invocation of the marc-search screen is provided ot the maillist.html
|: file via a <LiTemplate></LiTemplate> -rcfile so that a search link
|: appears next to _each_ message and user doe snot have to scroll to
|: the top of screen to find the link. Other than that, I can not
|: follow a thread of where exactly this error may occur.
|:
|: Any ideas?
|:
|: -Henk
|:
|: --------------------------------------------------------------------------
|: This is perl, version 5.003 with EMBED
|: built under sunos
|: + suidperl security patch
|:
|: /ufs/sedac/pkg/lib/perl5/site_perl
|: -r--r--r-- 1 bin bin 26810 May 17 03:40 CGI_Lite.pm
|: -r--r--r-- 1 bin bin 10945 May 16 13:48 Marc.pm
|: drwxr-xr-x 2 bin bin 512 May 22 09:51 Marc/
|: -r--r--r-- 1 bin bin 6411 Apr 4 15:06 Marc/Form.pm
|: -r--r--r-- 1 bin bin 13782 Apr 4 15:06 Marc/Search.pm
|:
|: /ufs/sedac/pkg/httpd/cgi-bin
|: -r-xr-xr-x 1 bin bin 10345 May 22 09:56 marc-search.cgi*
|:
|: ## Configurable options
|: my $server = 'http://plue.sedac.ciesin.org';
|: my $help = $server . '/marc-search.html';
|: my $doc_root = '/ufs/sedac';
|: my $script = $server . '/cgi-bin/marc-search.cgi';
: my $usersubdir = 'public_html';
|: ## External Modules to load
|: use lib '/ufs/sedac/pkg/lib/perl5/site_perl';
|: use CGI_Lite; # Substitute other CGI libraries if need be
|: use strict;
|: require 5.002;
|:
|: /var/adm/www
|: -rw-r--r-- 1 root staff 62948408 May 22 09:58 plue_error.log
|: -------------------------------------------------------------------------
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 62.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 83.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 76.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 69.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 62.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 83.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 76.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 69.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 62.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 83.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 76.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 69.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 62.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 83.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 76.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 69.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 62.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 83.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 76.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 69.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|: Use of uninitialized value at /ufs/sedac/pkg/httpd/cgi-bin/Marc/Search.pm
|: line 241, <FH> chunk 233.
|:
|: ...on and on... for another 150,000 lines till Perl program killed. The
|: last line (chunk 233) never changes anymore.
|--
|Eric D. Friedman
|friedman(_at_)uci(_dot_)edu