perl CGI,与param vs Var的差异

时间:2011-01-11 16:58:31

标签: perl

我在我的cgi perl脚本中执行此操作:

my %USER_HTML_INPUT = Vars();

我注意到如果将一个数据分配给一个键,它就会变成这样:

$VAR= {'tempvalue' => '0�25�85�125' }; 

如果我做@DATA = param('tempvalue');它将值拆分为数组。

如何在不使用param函数的情况下执行相同的操作。?

1 个答案:

答案 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参数传递给脚本。