我正在编写一个函数,一旦所有传递给 CGI 脚本的参数都会列出,无论是通过使用 POST 发送的表单、URL 字符串,还是两者兼而有之。
这有两个函数:
param()
:尽管 documentation ,我发现只有在没有 POST 参数的情况下,才能从 OR URL 参数的表单中读取 EITHER POSTed 参数。
另一方面,url_param()
将永远仅读取通过 URL 字符串传入的参数,而不管 POST。
我的函数
sub post_and_url_param_keys{
if(url_param){
return [url_param, param];
}else{
return [param];
}
它可以列出所有传入的参数:
√ POST 和 URL 参数
√ 仅 POST 参数
X 仅限 URL 参数(每个键列出两次)
有没有一种方法可以巧妙地解决这个问题,而不必检查每个参数对的名称和值是否重复?
最佳答案
一个稍微改进的方法是检查 request_method() eq 'POST'
。如果您查询字符串和发布都包含相同的参数名称,您可能仍然会得到重复的参数名称。
关于Perl CGI 可靠地读取 url_param 和 param,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232884/