read(STDIN, $FormData, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $FormData);
foreach $pair (@pairs) {
(name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
my $Var1 = $Form{Var1};
my $Var2 = $Form{Var2};}
我在 Perl 面向对象的脚本修改方面需要帮助,它处理从 URL 提交的数据,调用 LDAP 并获取用户参数,将这些参数添加到 POST 表单并将所有数据的 http POST 发送到同一个 URL。
我的目标是修改原始 Perl 脚本以采用多个文章参数。多个文章参数将采用以下形式:
id0=7kqm0uoamdtkff548567abdi3a&qpw0=ATYP%2d.....
&id1=7kqm0uoamdtcccccckff54123abdfn5&qpw1=ATYP....
........
&idN=NXXXXXX&qpwN=ATYP%2d%201....
其中 N <= 50
我已阅读标准输入(由表单发送)
我无法弄清楚新参数如何:
idN where N <= 50
qpwN where N <= 50
可以添加到关联数组中%names
我已经从键中解析了“^id”:
my $key;
my $count;
foreach $key (sort keys(%names)) {
if ($key =~ '^id') {
print $key, '=', $names{$key}, "\n";
$count++;
}
}
print "Total articles number = $count\n";
if ($count <= 50) {
print "You ordered $count articles\n";
}
else {
print "You exceeded the 50 articles limit"
}
所以我想以这种形式添加两个新参数$idN
&$qpwN
其中 N <= 50:
my $Var1 = $Form{Var1};
my $Var2 = $Form{Var2};
如何执行?先感谢您!
以斯帖