📄 perl语言教程 perl 中文教程(第一章cgilib例).htm
字号:
name=Image14></A></TD></TR>
<TR>
<TD><A onmouseover="MM_swapImage('Image15','','11a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-11.htm"><IMG
src="Perl语言教程 Perl 中文教程(第一章cgilib例).files/11.gif" border=0
name=Image15></A></TD></TR>
<TR>
<TD><A onmouseover="MM_swapImage('Image17','','12a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-12.htm"><IMG
src="Perl语言教程 Perl 中文教程(第一章cgilib例).files/12.gif" border=0
name=Image17></A></TD></TR>
<TR>
<TD><A onmouseover="MM_swapImage('Image16','','13a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-13.htm"><IMG
src="Perl语言教程 Perl 中文教程(第一章cgilib例).files/13.gif" border=0
name=Image16></A></TD></TR>
<TR>
<TD><A onmouseover="MM_swapImage('Image18','','14a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-14.htm"><IMG
src="Perl语言教程 Perl 中文教程(第一章cgilib例).files/14.gif" border=0
name=Image18></A></TD></TR>
<TR>
<TD><A onmouseover="MM_swapImage('Image19','','y1a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-15.htm"><IMG
src="Perl语言教程 Perl 中文教程(第一章cgilib例).files/y1.gif" border=0
name=Image19></A></TD></TR>
<TR>
<TD><A onmouseover="MM_swapImage('Image20','','y2a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-16.htm"><IMG
src="Perl语言教程 Perl 中文教程(第一章cgilib例).files/y2.gif" border=0
name=Image20></A></TD></TR>
<TR>
<TD><A onmouseover="MM_swapImage('Image21','','y3a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-17.htm"><IMG
src="Perl语言教程 Perl 中文教程(第一章cgilib例).files/y3.gif" border=0
name=Image21></A></TD></TR></TBODY></TABLE></TD>
<TD class=myFont vAlign=top width=30><IMG height=1
src="Perl语言教程 Perl 中文教程(第一章cgilib例).files/x.gif" width=10> </TD>
<TD class=myFont vAlign=top>
<DIV align=center><IMG height=30
src="Perl语言教程 Perl 中文教程(第一章cgilib例).files/top.gif" width=180><BR><SPAN
class=myFont><SPAN class=myFont><FONT face=宋体>翻译:</FONT></SPAN></SPAN>
<SPAN class=myFont><SPAN class=myFont>flamephoenix</SPAN></SPAN> <BR>
<HR width="100%" SIZE=1>
<DIV align=center>
<P><B>第一章 cgilib例(未定稿)</B></P>
<P
align=left>一个简单的读取并处理表格请求数据的cgilib.pl例子:<BR><BR>#!/usr/bin/perl<BR><BR>sub
readGetData{ <BR> <B>#
指定局部变量queryString用以保存和传递函数的参数</B>
<BR> local(*queryString) = @_ if @_;
<BR> <B># 读取环境变量QUERY_STRING的值赋给变量$queryString</B>
<BR> $queryString = $ENV{"QUERY_STRING"};
<BR> return 1;<BR>}<BR><BR>sub readPostData{
<BR> local(*queryString)=@_ if @_;
<BR> local($contentLength);
<BR> <B># 读取环境变量CONTENT_LENGTH的值</B>
<BR> $contentLength = $ENV{"CONTENT_LENGTH"};
<BR> <B># 检查是否有数据</B>
<BR> if($contentLength){
<BR> <B>#
从设备STDIN读取contentLength长度的字符赋给$queryString</B>
<BR> read(STDIN,$queryString,$contentLength);
<BR> } <BR> return 1; <BR>}
<BR><BR>sub readData{ <BR> local(*queryString) = @_
if @_; <BR> <B># 读取环境变量REQUEST_METHOD</B>
<BR> $requestType=$ENV{"REQUEST_METHOD"};
<BR><BR> <B># 如果请求方式为GET则使用函数readGetData</B>
<BR> <B># 否则如果请求方式为POST则使用函数readPostData</B>
<BR> if($requestType eq "GET"){
<BR> &readGetData(*queryString);
<BR> }
<BR> elsif($requestType eq "POST"){
<BR> &readPostData(*queryString);
<BR> } <BR> return 1; <BR>}
<BR><BR>sub DecodeData{ <BR> local(*queryString)=
@_; <BR> <B># 把加号转换成空格</B>
<BR> $queryString=~s/\+/ /g;
<BR> <B># 转换十六进制字符</B>
<BR> $queryString=~s/%(..)/pack("c",hex($1))/ge;
<BR> return 1; <BR>} <BR><BR>sub parseData{
<BR> local(*queryString,*formData) = @_ if @_;
<BR> local($key,$value,$curString,@tmpArray);
<BR><BR> <B># 以&为分隔符把字符串转换成键-值对</B>
<BR> @tmpArray = split(/&/,$queryString);
<BR><BR> <B># 在数组@tmpArray内循环</B>
<BR> foreach $curString(@tmpArray){
<BR> <B># 以=为分隔符分开键-值对</B>
<BR> ($key,$value) =
split(/=/,$curString);
<BR> <B># 解码</B>
<BR> &DecodeData(*key);
<BR> &DecodeData(*value);
<BR> <B># 把键和值加到字典中</B>
<BR> $formData{$key}=$value;
<BR> } <BR> return 1; <BR>}
<BR><BR>1;<BR>#end of file cgilib.pl
<BR><BR><BR><B>使用方法:</B><BR><BR>要使用此库需含下列语句:<BR>#require
"cgilib.pl";<BR>表格数据处理:<BR>%dataDict=();<BR>&readData(*data);<BR>&parseData(*data,dataDict);<BR>字典数据处理:
<BR>while(($key,$value)=each(%dataDict)){
<BR> print
$key,"=",$value,"\n\n";<BR>}</P></DIV></DIV></TD></TR></TBODY></TABLE>
<DIV align=center></DIV>
<DIV align=center><BR></DIV>
<DIV align=center><SPAN class=myFont><A
href="http://www.sun126.com/perl5/perl5-14-1.htm">上页</A> <A
href="http://www.sun126.com/perl5/perl5-16.htm">下页</A> <A
href="http://www.sun126.com/perl5/perl5index.htm">回目录</A> <A
href="http://www.sun126.com/perl5/perl5-15.htm#a"><FONT face="Arial, 宋体">Go
Top</FONT></A></SPAN><BR><BR></DIV>
<TABLE height=50 cellSpacing=0 cellPadding=0 width="100%" bgColor=#000000
border=0>
<TBODY>
<TR>
<TD bgColor=#cccc99 height=4>
<DIV align=center><IMG height=4 src="" width=4></DIV></TD></TR>
<TR>
<TD height=50>
<DIV align=center><FONT class=myfont size=2><SPAN class=myfont><FONT
color=#99cc99><A href="http://www.sun126.com/bbs/ccb/index.cgi"><FONT
color=#99cc99>中国CCB论坛</FONT></A> 整理 麻辣
2003.7.10</FONT></SPAN></FONT><FONT class=myfont color=#99cc99
size=2><SPAN class=myfont><FONT
color=#99cc66><BR></FONT></SPAN></FONT><SPAN class=myfont><FONT
class=myfont><SPAN class=myfont><FONT face="Arial, Helvetica, sans-serif"
color=#99cc99>© 2000
http://www.sun126.com</FONT></SPAN></FONT></SPAN></DIV></TD></TR></TBODY></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -