+
+ if ($ffn) {
+ open FILENAMES, "$DBDIR/contents/filenames_$suite.txt"
+ or die "Failed opening filename table";
+ while (<FILENAMES>) {
+ next if index($_, $kw)<0;
+ chomp;
+ last unless &dosearch(reverse($_)."/", \$nres, $reverses);
+ }
+ close FILENAMES;
+ } else {
+
+ $kw = reverse $kw;
+
+ # exact filename searching follows trivially:
+ my $exact = $cgi->param("exact");
+ $kw = "$kw/" if $exact;
+
+ print "ERROR: Exact and fullfilenamesearch don't go along" if $ffn and $exact;
+
+ &dosearch($kw, \$nres, $reverses);
+ }
+ print "</pre>$nres results displayed";
+ $reverses = undef;
+ untie %reverses;
+
+}
+
+sub dosearch
+{
+ my ($kw, $nres, $reverses) = @_;
+