# -------------------------------------------------------------------- # basic search program use TripodCGI qw(:standard); #-------------------------------------------------------------------- # get search-string $cur = TripodCGI->new(); $str = $cur->param("search"); $dataBase = "rcsd.db"; # generate beginning html htmlBegin("Search Results", $str); makeForm(); # do search search($str); # check if any results if ($nFmt == 0) { printf "

\n"; printf "Sorry, but no matches\n"; } else { listEnd(); } # clean-up, add form and end-html htmlEnd(); #==================================================================== sub fmt { if ($nFmt++ == 0) { listBegin(); } @fields = split(/\|/, $_[0]); printf "

  • \n"; printf " $fields[2]\n"; printf " $fields[1]\n"; printf " $fields[0]\n"; printf "

    \n"; } #------------------------------------------------ sub search { open(DB, $dataBase); @keys = split(/,/, $_[0]); while () { $flag = 0; foreach $key (@keys) { if (! /$key/i) { $flag++; last; } } if ($flag == 0) { fmt($_); } } } #-------------------------------------------------------------------- sub makeForm { printf "\n"; printf "

    \n"; printf "

    \n"; printf " Search String:\n"; printf " \n"; printf " \n"; printf "

    \n"; } #==================================================================== sub htmlBegin { print "Content-Type: text/html\n\n"; printf "\n"; printf " %s \n", $_[0]; printf "\n"; printf "\n"; printf "$_[0] for $_[1]\n"; $nFmt = 0; } #-------------------------------------- sub htmlEnd { printf "\n"; printf "\n"; } #---------------------------------------------------------- sub tableBegin { printf "\n"; printf "\n"; printf " "; printf "
    Title/Description"; printf " Contributors"; printf " Issue"; printf "\n"; } #-------------------------------------- sub tableEnd { printf "
    \n"; printf "\n"; } #---------------------------------------------------------- sub listBegin { printf "\n" }