博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助
  dorainm.cublog.cn

关于作者
dorainm
dorainm@gmail.com

我的梦想是当一名地主家的少爷,家有良田千顷,终日不学无术,没事领着一帮狗和奴才去调戏一下良家少女……

格物、致知、正心、诚意、修身、齐家、治国、平天下

电影的长度取决于观众的那泡尿能憋多久
|| << >> ||
我的分类


Perl编写CGI之form处理
    关于CGI获取form递交的参数,参见 C/C++编写CGI程序之form处理 , 下面只是贴一个 perl处理的实际应用源码

sub dhtml_form
{
    local $buffer;
    local @pairs;
    local $pair;

    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;
    $value =~ s/\|//g;
    $value =~ s/>/>/g;
    $value =~ s/</</g;
    $value =~ s/\r\n/<br>/g;
    $value =~ s/\n/<br>/g;
    $FORM{$name} = $value;
    }

    $buffer = $ENV{'QUERY_STRING'};
    @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;
    $value =~ s/\|//g;
    $value =~ s/>/>/g;
    $value =~ s/</</g;
    $value =~ s/\r\n/<br>/g;
    $value =~ s/\n/<br>/g;
    $FORM{$name} = $value;
    }
};


    上半段处理 post的,下半段处理 get的!如果传递了一个参数

http://dorainm.org/index.cgi?name=dorainm


    perl里面只需要运行 dhtml_form,处理 form参数后,用hash $FORM{key} 就可以获得相应的值了

&dhtml_form();
printf $FORM{'name'};


    比如上例,就可以打印出 dorainm 来

    有问题一起来讨论吧,dorainm的状态不是很好这些天


 TAG perl cgi form
发表于: 2007-10-15,修改于: 2007-10-15 11:39,已浏览734次,有评论0条 推荐 投诉


网友评论
 发表评论