gpt4 book ai didi

perl - CGI 脚本中的处理 URL

转载 作者:行者123 更新时间:2023-12-04 04:52:28 25 4
gpt4 key购买 nike

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};

如何执行?
提前谢谢你!

以斯帖

最佳答案

如果您在 Perl 脚本中处理来自表单的数据,请使用 CGI.pm 和 CGI::Expand处理高级查询参数。

#!/usr/bin/perl
use warnings;
use strict;
use CGI;
use CGI::Expand;

my $q = CGI->new;
my $p = CGI::Expand->expand_cgi($q);

$p 然后将包含您的所有查询参数。

关于perl - CGI 脚本中的处理 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17240904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com