Forms Can';t在perl上通过html表单发送get和post http请求

Forms Can';t在perl上通过html表单发送get和post http请求,forms,perl,post,get,http-request,Forms,Perl,Post,Get,Http Request,我的网站上有交换机结构我处理get请求,并根据查询中的内容加载不同的脚本。脚本中有开关指令。 比如说 链接:site.com/-打印类似“按一些菜单按钮”的内容 链接:site.com/?mode=users-加载脚本users.pl 链接:site.com/?mode=address-加载脚本addreses.pl 链接:site.com/?mode=users&action=add-加载script users.pl,在这个脚本中,我有另一个开关,它根据get参数“action”执行dif操

我的网站上有交换机结构
我处理get请求,并根据查询中的内容加载不同的脚本。脚本中有开关指令。 比如说

链接:
site.com/
-打印类似“按一些菜单按钮”的内容

链接:
site.com/?mode=users
-加载脚本users.pl

链接:
site.com/?mode=address
-加载脚本addreses.pl

链接:
site.com/?mode=users&action=add
-加载script users.pl,在这个脚本中,我有另一个开关,它根据get参数“action”执行dif操作

\u/?mode=users&action=add上,我有一个表单。此表单中的操作为none(操作=“”),方法=post。所以当我按下“发送”按钮时,这个页面必须用post参数刷新。对吗?对

问题是:当我按下发送按钮时,index.pl正在加载,而不是同一个页面。就像没有get参数一样

我尝试打印所有参数,哪一页接收

@names = $params->param;
print @names;
这是打印post参数,我在表单中输入,但不是打印从链接获取参数。链接相同:/?模式=用户&操作=添加

我试图打印
$ENV{'QUERY\u STRING'}-显示所有参数。post和get及其名称都是正确的。
有什么问题吗<代码>$ENV{'HTTP_REQUEST'}在我发送表单时仅为“post”,而在我刚加载表单页面时为“get”。

Perl不能同时发送get和post请求吗?我必须做什么?
以下是我处理查询字符串的方式:

$params=new CGI;
$action=$params->param("mode"); # or $action=$params->param("action");
和开关:

use feature 'switch';
for ($action) {
    when ('users') {
       do "./pages/users.pl";
    }

    .... some more 'when'

    default { 
       print 'select something'; 
    }
}

试着把问号前面的斜线去掉 eg变化 /?模式=用户&操作=添加 到
?mode=users&action=add

我真的不知道为什么它不起作用,但我找到了下一个解决方案。例如,链接是/?mode=users&action=add(它是一个表单)。我只是在表单中添加了2:

<input type='hidden' name='mode' value='users'>
<input type='hidden' name='action' value='add'>

你不明白我的意思。操作为空()