такая вот проблемка: почему то не обрабатывавается запрос в этом коде :
| Код | #!D:\Lang\Perl\bin\perl.exe #chart.cgi $datafile="d:/webserver/logs/topten.dat"; sub urldecode{ local($val)=@_; $val=~s/\+/ /g; $val=~s/%([0-9a-hA-H]{2})/pack('C',hex($1))/eg; return $val; } $cont_len=$ENV{'CONTENT_LENGTH'}; if($ENV{'REQEST_METOD'} eq 'GET'){$query=$ENV{'QUERY_STRING'};} else{sysread(STDIN,$query,$cont_len);} if($query ne ''){ @fields=split(/&/,$query); foreach(@fields){ if(/^best(.*)/){$best=&urldecode($1);} } open(DATA,">>$datafile")||die "Немогу открыть $datafile\n"; print DATA $best; close(DATA); } open(DATA,"$datafile")||die "Немогу открыть $datafile\n"; @AllData=<DATA>; close(DATA); $total=$#AllData+1; foreach(@AllData){ #($best)=split(/\t/,$_); $val1_cnt++ if($best eq 'val1'); $val2_cnt++ if($best eq 'val2'); $val3_cnt++ if($best eq 'val3'); $val4_cnt++ if($best eq 'val4'); $val5_cnt++ if($best eq 'val5'); $val6_cnt++ if($best eq 'val6'); $val7_cnt++ if($best eq 'val7'); $val8_cnt++ if($best eq 'val8'); $val9_cnt++ if($best eq 'val9'); $val0_cnt++ if($best eq 'val0'); } print "Refresh: 0 url=\"http:\/\/zlodei\/\"\n"; print "Content-type: text/html; charset=windows-1251\n\n"; print "<script language=JavaScript>\n"; print "some=window.open(\"\",\"okno\",\"width=200,height=250\");\n"; print "some.document.open();\n"; print "some.document.write(\"<HTML><head><Title>Результаты голосования</title></head>\");\n"; print "some.document.write(\"<BODY bgcolor=\\"lightgrey\\">\");\n"; print "some.document.write(\"Всего проголосовало $total<hr>\");\n"; print "some.document.write(\"1-$query- \");\n"; print "some.document.write(\"2-$best- \");\n"; print "some.document.write(\"<\/BODY><\/HTML>\");\n"; print "some.document.close();\n"; print "</script>";
|
и в чём мои недаработки ? |