#! /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); }