这条线在perl中做什么 我的%input=CTRL()->{cgi}->Vars;



这一行在perl中做什么?

my %input=CTRL()->{cgi}->Vars;

我真的不明白这里发生了什么。我最好的假设是Vars是密钥,我们将这些键值对插入到输入散列中。

它被称为CTRL。此函数返回对哈希的引用。它访问具有该散列的密钥cgi的元素。它似乎是CGI的一个实例。它调用该对象的Vars方法。

许多人希望将整个参数列表作为哈希获取,其中键是CGI参数的名称,值是参数的值。Vars((方法可以做到这一点。在标量上下文中调用,它将参数列表作为绑定的哈希引用返回。更改键会更改基础CGI参数列表中的参数值。在列表上下文中调用,它将参数列表作为普通散列返回。这允许您读取参数列表的内容,但不能更改它

当使用这个时,您必须注意的是多值CGI参数。因为散列不能区分标量和列表上下文,所以多值参数将作为压缩字符串返回,用"分隔\0";(null(字符。您必须拆分此压缩字符串才能获得单个值。这是Steve Brenner很久以前在他的perl版本4的cgi-lib.pl模块中引入的约定,在未来的版本中可能会用数组引用取代。

最新更新