ReadParse()和Hash值顺序

时间:2014-11-07 06:09:24

标签: perl webmin-module-development

我正在尝试使用Hash(%in)中的ReadParse()函数从表单中读取值,我没有按照我在表单中提交的顺序获取元素,我希望得到与我在表单中提交的相同的形式, 请给我解决方案。感谢。

2 个答案:

答案 0 :(得分:2)

检查perldoc CGI FETCHING THE NAMES OF ALL THE PARAMETERS PASSED TO YOUR SCRIPT:

my @names = $query->param;
  

从版本1.5开始,返回的参数名称数组的顺序与浏览器提交的顺序相同。通常这个顺序与表单中定义参数的顺序相同(但是,这不是规范的一部分,所以不能保证)。

答案 1 :(得分:0)

哈希键/值不按其添加顺序存储。

你想要完成什么?也许还有另一种方式?

我没有意识到订单是在HTML规范中指定的:

  

application / x-www-form-urlencoded

     

这是默认内容类型。使用此内容提交的表单   类型必须编码如下:

     
      
  1. 转义控件名称和值。空格字符被替换为   '+',然后按照中所述转义保留字符   [RFC1738],第2.2节:非字母数字字符替换为   '%HH',百分号和两个十六进制数字代表   字符的ASCII码。换行符表示为“CR LF”   对(即'%0D%0A')。
  2.   
  3. 控件名称/值列在   命令它们出现在文档中。该名称与。分开   值'='和名称/值对彼此分开   '&安培;'。   [http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4]
  4.