资源大全 | 神秘文化 | 在线翻译 | QQ专区 | 视频教程 | 彩信频道 | 搜索引擎 | BT下载 |  | 网站地图
设为首页
加入收藏
联系站长
您现在的位置: 一百网络 >> 其他编程 >> CGI编程 >> 文档正文
最近更新
普通文档 CGI教学:CGI常用环境变量
普通文档 CGI教学:CGI安全问题
普通文档 CGI教学:第四章 设置Web
普通文档 CGI教学:第三章 计数器的
普通文档 CGI教学:第二章 动态创建
普通文档 CGI教学:第一章 cgilib例
普通文档 CGI教程(5)利用CGI解码F
普通文档 CGI教程(4)HTML 表单
普通文档 CGI教程(3)怎样发回文档
普通文档 CGI教程(2)怎样从服务器
推荐文章
  • 此栏目下没有推荐文档
  • CGI教学:第一章 cgilib例

    文章作者:佚名 录入时间:2006-6-2 来源:不详
    网站声明:本站的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出处和原始作者,文章版权归本网站与文章作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。


    一个简单的读取并处理表格请求数据的cgilib.pl例子:

    #!/usr/bin/perl

    sub readGetData{
    # 指定局部变量queryString用以保存和传递函数的参数
    local(*queryString) = @_ if @_;
    # 读取环境变量QUERY_STRING的值赋给变量$queryString
    $queryString = $ENV{"QUERY_STRING"};
    return 1;
    }

    sub readPostData{
    local(*queryString)=@_ if @_;
    local($contentLength);
    # 读取环境变量CONTENT_LENGTH的值
    $contentLength = $ENV{"CONTENT_LENGTH"};
    # 检查是否有数据
    if($contentLength){
    # 从设备STDIN读取contentLength长度的字符赋给$queryString
    read(STDIN,$queryString,$contentLength);
    }
    return 1;
    }

    sub readData{
    local(*queryString) = @_ if @_;
    # 读取环境变量REQUEST_METHOD
    $requestType=$ENV{"REQUEST_METHOD"};

    # 如果请求方式为GET则使用函数readGetData
    # 否则如果请求方式为POST则使用函数readPostData
    if($requestType eq "GET"){
    &readGetData(*queryString);
    }
    elsif($requestType eq "POST"){
    &readPostData(*queryString);
    }
    return 1;
    }

    sub DecodeData{
    local(*queryString)= @_;
    # 把加号转换成空格
    $queryString=~s/\+/ /g;
    # 转换十六进制字符
    $queryString=~s/%(..)/pack("c",hex($1))/ge;
    return 1;
    }

    sub parseData{
    local(*queryString,*formData) = @_ if @_;
    local($key,$value,$curString,@tmpArray);

    # 以&为分隔符把字符串转换成键-值对
    @tmpArray = split(/&/,$queryString);

    # 在数组@tmpArray内循环
    foreach $curString(@tmpArray){
    # 以=为分隔符分开键-值对
    ($key,$value) = split(/=/,$curString);
    # 解码
    &DecodeData(*key);
    &DecodeData(*value);
    # 把键和值加到字典中
    $formData{$key}=$value;
    }
    return 1;
    }

    1;
    #end of file cgilib.pl

    使用方法:

    要使用此库需含下列语句:
    #require "cgilib.pl";
    表格数据处理:
    %dataDict=();
    &readData(*data);
    &parseData(*data,dataDict);
    字典数据处理:
    while(($key,$value)=each(%dataDict)){
    print $key,"=",$value,"\n\n";
    }

  • 上一篇文档:

  • 下一篇文档:
  •     查找更多“CGI教学:第一章 cgilib例”的内容  
    相关连接
  • DOM的结构(1)

  • 巧用XML做多语言界面的FLASH

  • 在 Excel 2003 中创建 XML 映射(1)

  • WML——XML标记语言开发实例详细解析

  • RSS的语言编码大全