2

我仍然在为最基本的 Perl 语法和谷歌搜索运算符苦苦挣扎,除非你知道你不知道什么以便使用正确的术语。所以 2 个问题,1)什么是正确的语法和 2)我用来找到答案的术语是什么?

语法——我有一个列表(哈希?):

my @list = [ "foo"=> "bar", "foo"=>"orange"];

我需要声明列表,然后单独添加每个项目(填充将在循环和其他方法中完成),但似乎找不到正确的语法:

my @list = [];
# add foo=bar
# add foo=orange

最终目标是通过LWP::UserAgent$ua->post( $url, \@form )方法发布一个不幸使用重复键的表单。我可以让它一次性声明列表和所有内容,但似乎找不到正确的语法来拆分它并逐步构建内容。

4

1 回答 1

4

您将使用 perldoc(您​​计算机上的程序或网站上的程序)来查找答案。

my @list = [ "foo"=> "bar", "foo"=>"orange"];

你没有列表,你有一个数组(称为@list)。该数组有一个元素,它是对(另一个)数组的引用,该数组包含四个字符串:foobarfooorange。我怀疑这是你想要的:

my @list = ("foo" => "bar", "foo" => "orange");

似乎更有可能(这是一个直接包含四个字符串的数组,没有额外的嵌套数组)。

要在程序上构建它,您可以执行以下操作:

my @list;
push @list, "foo";
push @list, "bar";
push @list, "foo";
push @list, "orange";

或者:

my @list;
push @list, "foo" => "bar";
push @list, "foo" => "orange";

与此相关的 perldoc 页面将是perldoc perldata,perldoc perlreftutperldoc -f push.

于 2012-12-24T03:03:02.680 回答