如何使用Perl的CGI.pm发出HTTP重定向?

如何使用Perl的CGI.pm发出HTTP重定向?,perl,redirect,cgi,Perl,Redirect,Cgi,我想执行HTTP重定向,但我目前的做法不起作用。当我尝试重定向时,它只打印状态代码和位置标题: my $q = new CGI; q->redirect(" http://www.google.com "); 您是否需要在顶部使用CGI use CGI; my $query=new CGI; print $query->redirect('http://www.foo.com'); 这对我很有用URL周围的空格有什么用途吗?根据CGI库的功能,这些可能会出现问题。我可以看到它正在

我想执行HTTP重定向,但我目前的做法不起作用。当我尝试重定向时,它只打印状态代码和位置标题:

my $q = new CGI;
q->redirect(" http://www.google.com ");

您是否需要在顶部使用CGI

use CGI;
my $query=new CGI;
print $query->redirect('http://www.foo.com');

这对我很有用

URL周围的空格有什么用途吗?根据CGI库的功能,这些可能会出现问题。我可以看到它正在将您的URL转换为%20http://www.google.com%20 这将无法正确加载


编辑:当我测试它时,它似乎没有做任何有害的事情,除了直接传递到浏览器。另一方面,您的代码中缺少一个用法、一个$和一个打印-这是您正在尝试的实际代码还是其他东西?

我发现了问题所在,我在打印了200 ok状态后尝试重定向,这会导致我将URL打印到页面,而不是重定向到页面

返回的状态码是什么?呃,第二行$美元符号?打字错误?这就是为什么你应该发布你正在尝试的实际代码,而不是其他东西的原因