<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>


            ????? 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
            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      ÑÇÖÞÅ·ÃÀÔÚÏß