最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

第一章 cgilib例(未定稿)

by flamephoenix

一個簡單的讀取并處理表格請求數(shù)據(jù)的cgilib.pl例子:

#!/usr/bin/perl

sub readGetData{
    # 指定局部變量queryString用以保存和傳遞函數(shù)的參數(shù)
    local(*queryString) = @_ if @_;
    # 讀取環(huán)境變量QUERY_STRING的值賦給變量$queryString
    $queryString = $ENV{"QUERY_STRING"};
    return 1;
}

sub readPostData{
    local(*queryString)=@_ if @_;
    local($contentLength);
    # 讀取環(huán)境變量CONTENT_LENGTH的值
    $contentLength = $ENV{"CONTENT_LENGTH"};
    # 檢查是否有數(shù)據(jù)
    if($contentLength){
        # 從設(shè)備STDIN讀取contentLength長度的字符賦給$queryString
        read(STDIN,$queryString,$contentLength);
    }
    return 1;
}

sub readData{
    local(*queryString) = @_ if @_;
    # 讀取環(huán)境變量REQUEST_METHOD
    $requestType=$ENV{"REQUEST_METHOD"};

    # 如果請求方式為GET則使用函數(shù)readGetData
    # 否則如果請求方式為POST則使用函數(shù)readPostData
    if($requestType eq "GET"){
        &readGetData(*queryString);
    }
    elsif($requestType eq "POST"){
        &readPostData(*queryString);
    }
    return 1;
}

sub DecodeData{
    local(*queryString)= @_;
    # 把加號轉(zhuǎn)換成空格
    $queryString=~s/\+/ /g;
    # 轉(zhuǎn)換十六進(jìn)制字符
    $queryString=~s/%(..)/pack("c",hex($1))/ge;
    return 1;
}

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

    # 以&為分隔符把字符串轉(zhuǎn)換成鍵-值對
    @tmpArray = split(/&/,$queryString);

    # 在數(shù)組@tmpArray內(nèi)循環(huán)
    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";
表格數(shù)據(jù)處理:
%dataDict=();
&readData(*data);
&parseData(*data,dataDict);
字典數(shù)據(jù)處理:
while(($key,$value)=each(%dataDict)){
    print $key,"=",$value,"\n\n";
}

下一章 目錄

阿坝| 大安市| 咸丰县| 南汇区| 长汀县| 泽州县| 南木林县| 长葛市| 弋阳县| 成安县| 沙雅县| 明光市| 玛曲县| 铅山县| 舞阳县| 汕尾市| 武安市| 巢湖市| 淮北市| 昭平县| 海晏县| 清镇市| 普洱| 平定县| 德安县| 达拉特旗| 遂昌县| 江城| 叶城县| 廉江市| 即墨市| 武川县| 广元市| 河西区| 马尔康县| 松江区| 宣威市| 金溪县| 台江县| 万安县| 郧西县|