\n"; if($count) { print $html; } } print qq|
$q
$a
|;
if($related_topics eq 1) {
print "Related Topics:
$catname
|;
if($layout eq 1) {
print " \n";
}
} elsif($layout eq 2) {
foreach $line(@catlist) {
($pos, $qid) = split(/&&/,$line);
open(DATA,"data/$qid.qa");
@entry = ;
close(DATA);
$entry = join('',@entry);
($question, $answer) = split(/\|/,$entry);
print "$question \n";
}
} else {
print "
|;
foreach $line(@cats) {
chomp($line);
($category, $catid) = split(/&&/,$line);
open(DATA,"data/$catid.cat");
@catlist = ;
close(DATA);
foreach $line(@catlist) {
($pos, $id) = split(/&&/,$line);
open(DATA,"data/$id.qa");
@$id = ;
close(DATA);
$entry = join('',@$id);
($question, $answer) = split(/\|/,$entry);
$found = 0;
$fcount = 0;
if($match eq "any") {
foreach $key(@key) {
$q = $question;
$q =~ s/.*?$key.*?/$fcount++/eig;
$a = $answer;
$a =~ s/.*?$key.*?/$fcount++/eig;
if($question =~ /$key/i || $answer =~ /$key/i) { $found = 1; }
}
} else {
$words = @key;
$count = 0;
foreach $key(@key) {
$q = $question;
$q =~ s/.*?$key.*?/$fcount++/eig;
$a = $answer;
$a =~ s/.*?$key.*?/$fcount++/eig;
if($question =~ /$key/i || $answer =~ /$key/i) { $count++; }
}
if($count >= $words) { $found = 1; }
}
if($found) {
$matches{$id} = $fcount;
}
}
}
$total = 0;
foreach $key (keys %matches) {
if($matches{$key}) { $total++; push(@matches,"$matches{$key}\t$key"); }
}
if($total) {
print " Results Found: $total\n";
} else {
print "No results found.\n";
}
print qq|
\n";
open(DATA,"data/categories.txt");
@cats = ;
close(DATA);
@cats = sort @cats;
foreach $line(@cats) {
chomp($line);
($cat, $catid) = split(/&&/,$line);
open(DATA,"data/$catid.cat");
@catlist = ;
close(DATA);
$found = 0;
$count = 0;
foreach $line(@catlist) {
($pos, $qid) = split(/&&/,$line);
if($qid eq $answer) {
print qq|
$cat
|;
last;
}
}
}
} elsif($related_topics eq 2) {
%related = {};
$totalf = 0;
open(DATA,"data/categories.txt");
@cats = ;
close(DATA);
@cats = sort @cats;
foreach $line(@cats) {
chomp($line);
($cat, $catid) = split(/&&/,$line);
open(DATA,"data/$catid.cat");
@catlist = ;
close(DATA);
$found = 0;
$count = 0;
%related2 = {};
foreach $line(@catlist) {
($pos, $qid) = split(/&&/,$line);
if($qid eq $answer) {
$found = 1;
} else {
$related2{$qid} = 1;
}
}
if($found) {
foreach $key (keys %related2) {
$totalf++;
$related{$key} = 1;
}
}
}
if($totalf) {
print "Related Topics:
\n";
foreach $key (keys %related) {
open(DATA,"data/$key.qa") || next;
@content = ;
close(DATA);
$content = join('',@content);
($q, $a) = split(/\|/,$content);
print qq|$q
|;
}
}
}
print qq|\n";
foreach $line(@catlist) {
($pos, $qid) = split(/&&/,$line);
open(DATA,"data/$qid.qa");
@$qid = ;
close(DATA);
$entry = join('',@$qid);
($question, $answer) = split(/\|/,$entry);
print "
\n";
foreach $line(@catlist) {
($pos, $qid) = split(/&&/,$line);
$entry = join('',@$qid);
($question, $answer) = split(/\|/,$entry);
print "$question
$answer
$answer\n";
foreach $line(@catlist) {
($pos, $qid) = split(/&&/,$line);
open(DATA,"data/$qid.qa");
@entry = ;
close(DATA);
$entry = join('',@entry);
($question, $answer) = split(/\|/,$entry);
print "
\n";
}
print qq|\n";
@matches = reverse sort { $a <=> $b } @matches;
foreach $line(@matches) {
($num,$id) = split(/\t/,$line);
$entry = join('',@$id);
($question, $answer) = split(/\|/,$entry);
foreach $key(@key) {
$question =~ s/$key/$key<\/b>/ig;
}
print "