我正在尝试使用Hash(%in)中的ReadParse()函数从表单中读取值,我没有按照我在表单中提交的顺序获取元素,我希望得到与我在表单中提交的相同的形式, 请给我解决方案。感谢。
答案 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
这是默认内容类型。使用此内容提交的表单 类型必须编码如下:
- 转义控件名称和值。空格字符被替换为 '+',然后按照中所述转义保留字符 [RFC1738],第2.2节:非字母数字字符替换为 '%HH',百分号和两个十六进制数字代表 字符的ASCII码。换行符表示为“CR LF” 对(即'%0D%0A')。
- 控件名称/值列在 命令它们出现在文档中。该名称与。分开 值'='和名称/值对彼此分开 '&安培;'。 [http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4]
醇>