如何在PHP的print_r($ _ GET)之类的perl脚本中转​​储所有查询变量?

时间:2013-02-05 16:35:19

标签: perl cgi

我有一个从浏览器运行的perl脚本。我将查询变量传递给它,但查询变量显示为johndoe%40test%2Ecom而不是johndoe@test.com

我想调试变量以查看它们在脚本开头的显示方式。

在PHP中,访问url时会是:

http://localhost/dump-variables.php?foo=1&bar=2&bis=johndoe%40test%2Ecom

PHP脚本将包含以下代码:

header('Content-type: text/plain');
print_r($_GET);

结果将是:

Array
(
    [foo] => 1
    [bar] => 2
    [bis] => johndoe@test.com
)

Perl版本:5.010001

重要提示

我正在处理的系统上没有任何特殊访问权限(root / sudo) - 因此可能必须通过源代码包含模块...

2 个答案:

答案 0 :(得分:3)

您已对此CGI进行了标记,因此我首先会建议using something more efficient

但是如果你打算使用CGI,并假设使用CGI.pm,那么(来自CGI.pm docs):

use CGI;
use Data::Dump qw/ddx/;
my $q = CGI->new();
print $q->header('text/plain');
my %params = $q->Vars;

print "Content-type: text/plain\n\n"; # had to add this

ddx \%params;

答案 1 :(得分:1)

尝试数据::打印机http://metacpan.org/pod/Data::Printer 只需添加

 use DDP;
  ...

 p $_GET