请建议如何将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
答案 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程序?