#! /usr/bin/perl
# 讀取資料
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
$buffer = $ENV{'QUERY_STRING'};
}
# 分割資料
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
# Un-Webify plus signs and %-encoding
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s///g;
$value=~ s/∥//g; ##------------------------------_=_
$FORM{$name} = $value;
}
###############################
$site = $FORM{'site'};
$keyword = $FORM{'keyword'};
$url = $FORM{'url'};
#################################
if(($url eq "")||($url eq "您的網址")){
$url ="http://www.f1.com.tw/";
}
if($keyword eq ""){
$keyword ="UT網際空間";
}
&out;
##------------------------------------------------------------------------------------------
sub out(){
print"Content-type: text/html\n\n";
print <<"(END HTML)";
ALL IN ONE 網 路資源搜尋器 V1.1 版
(END HTML)
#&log1;
#&log2;
#&log3;
exit;
}
sub log1{
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday)= localtime(time);
open(F,"./hit.dat");
flock(F,2);
@file=;
flock(F,8);
close(F);
$i=$#file;
$i++;
open(F,">./hit.dat") || die"無法開啟 hit.dat";
flock(F,2);
$level="1";
for($x=0;$x<$i;$x++){
($s,$d,$n,$e) = split(/∥/,$file[$x]);
if($s eq "start" && $e eq "end"){
if($d eq "$year$yday"){
$d="$year$yday";
$n++;
$level="2";
}
print F"start∥$d∥$n∥end∥\n";
}
}
if($level eq "1"){
$d="$year$yday";
print F"start∥$d∥1∥end∥\n";
}
flock(F,8);
close(F);
}
sub log2{
open(F,"key.dat");
flock(F,2);
@file=;
flock(F,8);
close(F);
@file=sort @file;
$i=$#file;
$i++;
open(F,">key.dat") || die"無法開啟 key.dat";
flock(F,2);
$level="1";
for($x=0;$x<$i;$x++){
($s,$n,$d,$e) = split(/∥/,$file[$x]);
if($s eq "start" && $e eq "end"){
if($d eq "$keyword"){
$d="$keyword";
$n++;
$level="2";
}
print F"start∥$n∥$d∥end∥\n";
}
}
if($level eq "1"){
$d="$year$yday";
print F"start∥1∥$keyword∥end∥\n";
}
flock(F,8);
close(F);
}
sub log3{
open(F,"site.dat");
flock(F,2);
@file=;
flock(F,8);
close(F);
@file=sort @file;
$i=$#file;
$i++;
open(F,">site.dat") || die"無法開啟 key.dat";
flock(F,2);
$level="1";
for($x=0;$x<$i;$x++){
($s,$n,$d,$e) = split(/∥/,$file[$x]);
if($s eq "start" && $e eq "end"){
if($d eq "$site"){
$d="$site";
$n++;
$level="2";
}
print F"start∥$n∥$d∥end∥\n";
}
}
if($level eq "1"){
print F"start∥1∥$site∥end∥\n";
}
flock(F,8);
close(F);
}