⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search.cgi

📁 Linus guide, Linus guide, Linus guide,
💻 CGI
字号:
#!/usr/bin/perl############################################################################### Simple Search                 Version 1.0                                  ## Copyright 1996 Matt Wright    mattw@worldwidemart.com                      ## Created 12/16/95              Last Modified 12/16/95                       ## Scripts Archive at:           http://www.worldwidemart.com/scripts/        ################################################################################ COPYRIGHT NOTICE                                                           ## Copyright 1996 Matthew M. Wright  All Rights Reserved.                     ##                                                                            ## Simple Search may be used and modified free of charge by anyone so long as ## this copyright notice and the comments above remain intact.  By using this ## code you agree to indemnify Matthew M. Wright from any liability that      #  # might arise from it's use.                                                 #  #                                                                            ## Selling the code for this program without prior written consent is         ## expressly forbidden.  In other words, please ask first before you try and  ## make money off of my program.                                              ##                                                                            ## Obtain permission before redistributing this software over the Internet or ## in any other medium.  In all cases copyright and header must remain intact.################################################################################ Define Variables							     #$basedir = '.';$baseurl = './';@files = ('*html');$title = "Josh's Linux Guide";$title_url = 'http://jgo.local.net/LinuxGuide/';$search_url = 'search.html';# Done									     ################################################################################ Parse Form Search Information&parse_form;# Get Files To Search Through&get_files;# Search the files&search;# Print Results of Search&return_html;sub parse_form {   # Get the input   read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});   # Split the name-value pairs   @pairs = split(/&/, $buffer);   foreach $pair (@pairs) {      ($name, $value) = split(/=/, $pair);      $value =~ tr/+/ /;      $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;      $FORM{$name} = $value;   }}sub get_files {   chdir($basedir);   foreach $file (@files) {      $ls = `ls $file`;      @ls = split(/\s+/,$ls);      foreach $temp_file (@ls) {         if (-d $file) {            $filename = "$file$temp_file";            if (-T $filename) {               push(@FILES,$filename);            }         }         elsif (-T $temp_file) {            push(@FILES,$temp_file);         }      }   }}sub search {   @terms = split(/\s+/, $FORM{'terms'});   foreach $FILE (@FILES) {      open(FILE,"$FILE");      @LINES = <FILE>;      close(FILE);      $string = join(' ',@LINES);      $string =~ s/\n//g;      if ($FORM{'boolean'} eq 'AND') {         foreach $term (@terms) {            if ($FORM{'case'} eq 'Insensitive') {               if (!($string =~ /$term/i)) {                  $include{$FILE} = 'no';  		  last;               }               else {                  $include{$FILE} = 'yes';               }            }            elsif ($FORM{'case'} eq 'Sensitive') {               if (!($string =~ /$term/)) {                  $include{$FILE} = 'no';                  last;               }               else {                  $include{$FILE} = 'yes';               }            }         }      }      elsif ($FORM{'boolean'} eq 'OR') {         foreach $term (@terms) {            if ($FORM{'case'} eq 'Insensitive') {               if ($string =~ /$term/i) {                  $include{$FILE} = 'yes';                  last;               }               else {                  $include{$FILE} = 'no';               }            }            elsif ($FORM{'case'} eq 'Sensitive') {               if ($string =~ /$term/) {		  $include{$FILE} = 'yes';                  last;               }               else {                  $include{$FILE} = 'no';               }            }         }      }      if ($string =~ /<title>(.*)<\/title>/i) {         $titles{$FILE} = "$1";      }      else {         $titles{$FILE} = "$FILE";      }   }}      sub return_html {   print "Content-type: text/html\n\n";   print "<html>\n <head>\n  <title>Josh's Linux Guide - Results of Search</title>\n </head>\n";   print "<body bgcolor=\"#FFFFFF\">\n <center>\n  <h2>Results of Search</h2>\n </center>\n";   print "Below are the results of your search in no particular order:<p>\n";   print "<ul>\n";   foreach $key (keys %include) {      if ($include{$key} eq 'yes') {         print "<li><a href=\"$baseurl$key\">$titles{$key}</a>\n";      }   }   print "</ul>\n";   print "Search Information:<p>\n";   print "<ul>\n";   print "<li><b>Terms:</b> ";   $i = 0;   foreach $term (@terms) {      print "$term";      $i++;      if (!($i == @terms)) {         print ", ";      }   }   print "\n";   print "<li><b>Boolean Used:</b> $FORM{'boolean'}\n";   print "<li><b>Case $FORM{'case'}</b>\n";   print "</ul><br><P>\n";   print "<ul>\n<li><a href=\"$search_url\">Back to Search Page</a>\n";   print "<li><a href=\"$title_url\">$title</a>\n";   print "</ul>\n";   print "Search Script written by Matt Wright and can be found at <a href=\"http://www.worldwidemart.com/scripts/\">Matt's Script Archive</a>\n";   print "</body>\n</html>\n";}   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -