PERL, HTML::Template, ссылки.

Все о программировании под *nix
Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

PERL, HTML::Template, ссылки.

Сообщение Llama »

Иеем шаблон:

Код: Выделить всё

<TMPL_LOOP NAME=PREVIEW_ROWS>
<TR>
<TMPL_LOOP NAME=PREVIEW_COLS>
<TD><TMPL_VAR NAME=ID></TD>
<TD><TMPL_VAR NAME=PATH></TD>
</TMPL_LOOP>
</TR>
</TMPL_LOOP>
Вот код, который его должен был бы звполнять:

Код: Выделить всё

while ( my $sth_hash = $sth->fetchrow_hashref)
{
	$counter++;
	push @COL, {ID=>${$sth_hash}{'LINK_ID'}, PATH=>${$sth_hash}{'path'}};
	if ($counter == 3)
	{
		$counter=0;
		push @ROWS, {PREVIEW_COLS=>\@COL};
		@COL = ();
	}
}
По идее должен получиться список из 3 колонок произвольной длинны, но:
1) @ROWS может быть только хэшем с сылкой на массив.
2) @COL = () обнуляет массив => нифига на экран не выводится, т.к. в @ROWS - ссылки
3) Количество данных взятых из базы традиционно неизвестно...
4) Пробывал делать так: push @ROWS, {PREVIEW_COLS=>\(@COL)};
и \[@COLS] - получил следующую ошибку:

Код: Выделить всё

HTML::Template->output() : fatal error in loop output : Can't call method "isa" on unblessed reference at /usr/share/perl5/HTML/Template.pm line 2464.
Можно наверное загнать данные в массив массивов и кидать ссылки на строки, но что-то мне этот вариант не нравится.
Опыт растет прямо пропорционально выведенному из строя оборудованию