Perl 模板工具箱中的散列解引用

Perl 模板工具箱中的散列解引用,perl,hash,multidimensional-array,dereference,template-toolkit,Perl,Hash,Multidimensional Array,Dereference,Template Toolkit,我有一个多维散列,我正试图在表中打印出来。我无法正确地进行引用/取消引用 我正在将excel电子表格放入哈希表中,我想用html打印出相应的行和列,并匹配电子表格中的行/列,其中一些是空的 我正在使用Perl Dancer和模板工具包。在服务器端,散列可以正常工作。打印$big_table{$column}{$row};在服务器端,它会打印正确的列和行,不会出现任何问题 在客户端,0、1、2。。。应该是柱子。有些栏目是空白的,所以我不能只打印内容 它现在打印阵列0x3E5389C的方式。我尝试了

我有一个多维散列,我正试图在表中打印出来。我无法正确地进行引用/取消引用

我正在将excel电子表格放入哈希表中,我想用html打印出相应的行和列,并匹配电子表格中的行/列,其中一些是空的

我正在使用Perl Dancer和模板工具包。在服务器端,散列可以正常工作。打印$big_table{$column}{$row};在服务器端,它会打印正确的列和行,不会出现任何问题

在客户端,0、1、2。。。应该是柱子。有些栏目是空白的,所以我不能只打印内容

它现在打印阵列0x3E5389C的方式。我尝试了另一种方法,结果它打印了哈希

我知道我有一些参考/取消参考的问题。欢迎提供任何建议

服务器端代码:

my %big_table = ();

# $cell->value() is the text ripped from the excel cell at that location
$big_table{$column}{$row} = $cell->value();

template 'index', { big_table => \%big_table };
客户端:

<Table border="3">
<% FOREACH n IN big_table.0 %>

<TR><TD>&nbsp<% big_table.0.keys %>&nbsp<TD>&nbsp<% big_table.1.keys %>
&nbsp<TD>&nbsp<% big_table.2.keys %>&nbsp<TD>&nbsp<% big_table.3.keys %>
&nbsp <TD>&nbsp<% big_table.4.keys %> 
&nbsp<TD>&nbsp<% big_table.5.keys %>&nbsp

<% END %>
</Table>
提前谢谢

成功了

已更改为数组。”$大表格[$col][$row]=$cell->value;'并用所有行的值填充第二个数组

客户看起来像

<% FOREACH r IN row_numbers %>
<TR><TD> &nbsp <% big_table.0.$r %> &nbsp <TD> &nbsp <% big_table.1.$r %>...
<% END %>

工作很好,但它可能是疯狂的高效:。电子表格有800行长,所以它是第二个数组,包含800个元素,只是为了在“FOREACH”循环中迭代。

让它正常工作。已从哈希更改为数组。'$大表格[$col][$row]=$cell->value;'并用所有行的值填充第二个数组。客户看起来像。。。工作很好,但它可能是疯狂的高效:。电子表格有800行长,所以它是第二个数组,包含800个元素,只是为了在“FOREACH”循环中迭代。将结果作为答案发布,并将其标记为接受。效率低下?!为什么您认为在800个数组索引上迭代比在800个散列键上迭代效率要低?这并不是更高或更低的效率。我的意思是,我创建了一个额外的数组,我填充了$row位置,只是因为我可以让解引用正常工作。我之前尝试过发布一个答案,但它不允许我这样做。我没有足够的街头信誉之类的。。。我想我已经等得够久了,因为它现在让我可以了。