2014-11-07 4 views
0

해시 (%)에서 ReadParse() 함수를 사용하여 양식의 값을 읽으려고합니다. 요소를 양식으로 전송하는 순서대로 요소를 가져 오지 않습니다. 동일한 Oreder로 가져오고 싶습니다. 양식 제출, 제게 해결책을주십시오. 감사.ReadParse() 및 해시 값 순서

+4

지금까지 시도한 것을 보여주십시오. – Jinandra

답변

0

해시 키/값은 추가 된 순서대로 저장되지 않습니다.

달성하려는 작업은 무엇입니까? 아마도 다른 방법이 있을까요?

나는 순서가 HTML 사양에 지정되어 있는지 몰랐어요 :

응용 프로그램/x-www-form-urlencoded를

이 기본 콘텐츠 유형입니다. 이 콘텐츠로 제출 된 양식 유형은 다음과 같이 인코딩해야합니다.

  1. 제어 이름과 값이 이스케이프됩니다. 공백 문자는 '+'로 대체되고 예약 문자는 [RFC1738], 섹션 2.2에 설명 된대로 이스케이프 처리됩니다. 영숫자가 아닌 문자는 '% HH', 백분율 기호 및 을 나타내는 두 자리 16 진수로 대체됩니다 문자의 ASCII 코드. 줄 바꿈은 "CR LF" 쌍 (즉, '% 0D % 0A')으로 표시됩니다.
  2. 컨트롤 이름/값은 문서에 나타나는 순서로 나열되어 있습니다. 이름은 값과 '='로 구분되며 이름/값 쌍은 '&'으로 서로 구분됩니다. [http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4]
+0

에서 작성했습니다. from의 값을 제출하는 순서와 동일한 순서로 파일의 값을 쓰고 싶습니다. – Maruti

2

확인 버전 1.5로 perldoc CGIFETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT:

my @names = $query->param; 

, 그들이 브라우저에 의해 제출 된 것과 같은 순서로 될 것입니다 반환 매개 변수 이름의 배열입니다. 일반적으로이 순서는 매개 변수가 양식에 정의 된 순서와 같습니다 (단, 이는 사양의 일부가 아니므로 보장되지 않습니다).