如何将 perl cgi url 查询字符串分配给变量?
How to assign perl cgi url query string to variable?
请建议如何将 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
首先,使用这样的代码手动解析 CGI 参数在 20 年前就已经过时了。最好建议您使用 CGI.pm.
中的 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 程序?
请建议如何将 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
首先,使用这样的代码手动解析 CGI 参数在 20 年前就已经过时了。最好建议您使用 CGI.pm.
中的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 程序?