<dd id="sga4y"><optgroup id="sga4y"></optgroup></dd>
<nav id="sga4y"><code id="sga4y"></code></nav>
  • <optgroup id="sga4y"></optgroup>

    ????? cgilib??(¦Ä????)

    ??????????????????????????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";
    }

    ????? ??


    paper | appdir | ssv 97av