<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>


                    ????? 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

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频