|
Perl+поиск
|
Posted by: CheRt[aka_GoDleSS] on June 20, 2003 at 13:34:24
Posters Details: [195.14.32.99], X-Forwarded 4: [] [Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)]
Я решил писать все скрипты к проекту, которым занимаюсь сам, многое уже написал и вот дошло дело до поисковика, а так как этим ранее не занимался, то возникли некоторые траблы, начал писать примерно следующее(получасовая работка), но пока мало что есть ((
Вопрос: а в чем принцип выбора типа поиска "AND", "OR", т.е. чем иенно они отличаются? Можно словами, а не в виде участка кода, просто видел это на многих поисковиках, а сам еще толком не разобрался...
Вод код, если кому интересно:
#!/usr/bin/perl
########################
#Scripted by CheRt[aka_GoDleSS] #
#©2003 #
########################
use strict;
use CGI qw(:all);
my (@dir,@way,$to_search,$search_type,$command,$i,$j,$k,@base,@ff,@fa,@tp,$p1,$p2);
$way[0]="inetpub/wwwroot/";
$to_search=param('ts');
$search_type=param('st');
$command = $ENV{'QUERY_STRING'};
if ($command eq "") {
&begin;
} elsif ($command eq "go") {
&search;
}
sub begin {
print header;
print <<EOF;
<title>Search</title>
<form method="post" action="../cgi-bin/search.pl?go" target="_blank">
Тип поиска:
and<input type="radio" name="st" value="1" checked> or<input type="radio" name="st" value="2"><br>
<input type="text" name="ts" value="$to_search"> <input type="image" src="search.gif" onclick="form.submit">
</form>
EOF
for ($i=0; $i<@base; $i++) {
print "$dir[$i] - $base[$i]<br>\n";
}
}
sub search {
for ($i=0; $i<@way; $i++) {
opendir(TS, $way[$i]);
@dir=readdir TS;
closedir(TS);
@_=@dir;
@dir=glob('*.{txt,htm,html}');
for($j=0; $j<@dir; $j++) {
open(FTS, $dir[$j]);
@ff=<FTS>;
close(FTS);
@fa=grep /$to_search/i, @ff;
$base[$j]=@fa;
}
}
&begin;
}
Выводит что вроде 0 0 0 0 0, т.е. сколько в каком файле найденно таких элемментов поиска, а не
Follow Ups:
|
|