У меня есть многомерный хеш, который я пытаюсь распечатать в таблице. Я не могу получить право на реферирование/разглашение.Here Dereference в Template Toolkit
Я помещаю таблицу Excel в хэш, и я хочу распечатать соответствующие строки и столбцы в html и сопоставить строки/столбцы электронной таблицы (некоторые из которых пусты).
Я использую Perl Танцовщица и Template Toolkit. На стороне сервера хэш работает отлично. print $big_table{$column}{$row};
на стороне сервера, и он печатает правильный столбец и строку без проблем.
На стороне клиента должны быть столбцы 0, 1, 2...
. Некоторые столбцы пусты, поэтому я не могу просто распечатать содержимое.
Теперь он печатает ARRAY (0x3e5389c). Я пробовал по-другому, и он напечатал HASH ...
Я знаю, что у меня есть некоторые проблемы с ссылкой/разыменованием. Любой совет приветствуется.
Server Side Код:
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> <% big_table.0.keys %> <TD> <% big_table.1.keys %>
 <TD> <% big_table.2.keys %> <TD> <% big_table.3.keys %>
  <TD> <% big_table.4.keys %>
 <TD> <% big_table.5.keys %> 
<% END %>
</Table>
Заранее спасибо!
Изменено из хэша в массив. $ Big_table [$ col] [$ row] = $ cell-> value(); 'и заполняется второй массив со всеми строками # Клиент выглядит как <% FOREACH r IN row_numbers%>
Опубликуйте свои результаты как ответ и отметьте его принятым. – woolstar
Неэффективен ?! Почему, по вашему мнению, менее эффективно перебирать более 800 индексов массивов, чем 800 хеш-ключей? – ikegami
ответ
Got it working.
Изменено для массива. '$ big_table [$ col] [$ row] = $ cell-> value();' и заполнил второй массив со всеми строками #.
Клиент выглядит
прекрасно работает, но это, наверное, с ума в-эффективна :(. Таблица, длиной 800 строк, так что это второй массив с 800 элементами просто перебрать цикла «Foreach».
источник
2014-01-12 11:36:37 user2875251
Смежные вопросы