如何将perl cgi url查询字符串分配给变量?

时间:2015-12-14 09:37:11

标签: perl cgi

请建议如何将query_string值分配给单个变量?

my @values = split(/&/,$ENV{QUERY_STRING});

foreach my $i (@values) {
    ($fieldname, $data) = split(/=/, $i);
    print "$fieldname = $data<br>\n";
}

我得到的价值如下。我正在尝试分配单个值,如$ org,$ value,$ source,$ target。

key =  MAIN
value = test
source = master
target = 123

1 个答案:

答案 0 :(得分:1)

首先,使用类似代码手动解析CGI参数二十年前已经过时了。建议您使用CGI.pm。{/ p>中的param()方法

use CGI 'param';

foreach my $fieldname (param()) {
  print "$fieldname = ", param($fieldname), "\n";
}

您可以直接声明变量。

use CGI 'param';

my $key =   param('something');
my $value = param('something else');
# etc...

但也许将参数存储在哈希中会更好。

use CGI 'param';

my %param;
foreach (param()) {
  $param{$_} = param($_);
}

最后,它是2015年。为什么还在编写CGI程序?