我在我的cgi perl脚本中执行此操作:
my %USER_HTML_INPUT = Vars();
我注意到如果将一个数据分配给一个键,它就会变成这样:
$VAR= {'tempvalue' => '0�25�85�125' };
如果我做@DATA = param('tempvalue');它将值拆分为数组。
如何在不使用param函数的情况下执行相同的操作。?
答案 0 :(得分:2)
如果你真的,真的想在没有param
的情况下这样做,你可以试试(未经测试):
my $vars = Vars();
my %USER_HTML_INPUT = map { $_ => [ split(m{\0}, $vars->{$_}) ] } keys %$vars;
但稍微不那么丑:
my %USER_HTML_INPUT = map { $_ => [ param($_) ] } param();
只需在您需要的参数上使用param
就更清晰了。
另请阅读CGI文档的DEBUGGING部分,了解如何使用命令行中的CGI.pm将CGI参数传递给脚本。