|
| |
分割解码字符串及 HTML FORM 结合
HTML文件:
<HTML>
<title>使用Perl来分割字符串</title>
<h1>使用Perl来分割字符串</h1>
<form method="post" action="/cgi-bin/parse.cgi>
<p>1.姓名:<input type="text" name="name" size=12>
<p>2.性别:<select name="sex">
<option selected>男<option>女</select>
<p>3.身份证:<input type="password" name="id" size=12>
<p>4.职业:(单选)
<input type="radio" name="job" value="学生">学生
<input type="radio" name="job" value="工程师">工程师
<input type="radio" name="job" value="其他">其他
<p>5.偶像:(可复选)
<input type="checkbox" name="idol1" value="xxx">xxx
<input type="checkbox" name="idol1" value="yyy">yyy
<input type="checkbox" name="idol1" value="zzz">zzz
<p>
<input type=submit value="开始">
<input type=reset value="清除">
</form>
</HTML>
CGI程序:
#!/usr/bin/perl #指定perl在UNIX系统下面的路径
$|=1; #关闭缓冲区
print "Content-type:text/html\n\n"; #设定输出格式为HTML格式
#因为指定FROM传送的方式为POST,只要用
#下面这一行就能读到返回的字符串
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
#分割字符串及把字符串解码回原来的字符串
@pairs=split(/&/,$buffer);
foreach $pair(@pairs){
($name,$value)=split(/=/,$pair);
$value=~tr/+//;
$value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$FORM{$name}=$value;
}
print "<title>使用Perl来分割字符串</title>";
print "<h1>使用Perl来分割字符串</h1>";
print "<p>1.姓名:$FORM{'name'}";
print "<p>2.性别:$FORM{'sex'}";
print "<p>3.身份证:$FORM{'id'}";
print "<p>4.职业:$FORM{'job'}";
print "<p>5.偶像:$FORM{'idol1'} $FORM{'idol2'} $FORM{'idol3'}";
|