Perl 为什么会出现错误';尝试获取不存在的参数";计数-1“';当我使用HTML::Template时?

Perl 为什么会出现错误';尝试获取不存在的参数";计数-1“';当我使用HTML::Template时?,perl,Perl,我正在尝试使用以下内容填充HTML下拉列表: 这是我的模板文件(test.tmpl): 如何修复此问题?根据文档,循环变量需要是AoH。根据您的模板,它特别需要像 my @ARRAY = ( { NAME => 'count1', VALUES => 1 }, { NAME => 'count2', VALUES => 2 }, { NAME => 'count3', VALUES => 3 }, ); 您没有说明希望从中得到什么结果

我正在尝试使用以下内容填充HTML下拉列表:

这是我的模板文件(test.tmpl):


如何修复此问题?

根据文档,循环变量需要是AoH。根据您的模板,它特别需要像

my @ARRAY = (
    { NAME => 'count1', VALUES => 1 },
    { NAME => 'count2', VALUES => 2 },
    { NAME => 'count3', VALUES => 3 },
);

您没有说明希望从中得到什么结果,但是
TMPL\u循环
参数的每个元素必须是包含一个或多个值的散列。在
元素中,可以使用
调用每个散列的元素,其中
字段
是必须出现在数组的每个元素中的散列键的名称

如果我合并这个模板


使用此Perl代码

使用严格;
使用“全部”警告;
使用HTML::模板;
我的$template=HTML::template->new(文件名=>'test.tmpl');
我的@count=(
{name=>count1',value=>1},
{name=>count2',value=>2},
{name=>count3',value=>3},
);
$template->param(COUNT=>\@COUNT);
打印$template->输出“\n”;
这就是结果。我猜你也希望有类似的事情


计数1
计数2
计数3

您确定这是您运行的代码和使用的模板吗?你甚至没有设置
@TOTAL
。嗨,我已经编辑了我的问题。我不确定我是否在html模板文件中正确使用了该数组值。请建议在上面选择的类上使用html模板上的数组的正确方法。谢谢你真的希望数组只有一个元素吗?嗨,我真的希望整个数组都列在下拉列表中(count1,count2,count3)谢谢你的回复。我正在尝试从下拉列表中获取这些值。现在,在使用上述代码之后,我没有得到任何错误,但是下拉列表中没有显示任何值。谢谢你好,我正在尝试在下拉列表中列出count1、count2、count3值。现在下拉列表显示为空。但是,页面源会显示这些值。请建议如何在下拉列表中列出这些值。谢谢你,我猜你还不明白
。必须与
@count
数组中的
名称
散列键绑定。但是,在没有看到代码的情况下诊断代码是不可能的。你必须问另一个问题嗨,我在脚本和模板文件中使用了上述相同的代码。如果我右键单击页面源代码,它显示count1和2,3类似于这些,但是在cgi页面下拉列表中显示为空。非常感谢。
<div class="input-field col s6">
<select><TMPL_LOOP NAME="COUNT"><option value="count1"><TMPL_VAR NAME=NAME><TMPL_VAR NAME=VALUES></option></TMPL_LOOP></select>                                
</div>
Attempt to get nonexistent parameter 'count1,count2,count3' -
this parameter name doesn't match any declarations in the template file
my @ARRAY = (
    { NAME => 'count1', VALUES => 1 },
    { NAME => 'count2', VALUES => 2 },
    { NAME => 'count3', VALUES => 3 },
);