>Дорогой angra, спасибо за ответ, Я знал что если он и будет, то именно от вас. Зря вы так, на форуме достаточно людей знающих перл.
>Не могли бы вы привести работающий пример с использованием fetchrow_hashref. Я буду
>очень признателен.
Вариантов решения очень много и выбор зависит от условий. Но если предположить что данных сравнительно мало, то можем не экономить память и сделать примерно так:
use Data::Dumper #в рабочем варианте не нужно, это для отладки/визуализации
my $data=$sth->fetchall_arrayref({});
if (@$data) { #вообще говоря нужна более тщательная обработка ошибок, но это уже зависит от остального кода
print Dumper($data); #это чтобы вы могли увидеть как выглядит возвращаемая структура, без этого будет тяжело понять как работает остальной код
my @headers=keys($data->[0]); #получаем имена колонок
print "<tr>";
print "<th>$_</th> foreach @headers;
foreach my $row (@$data) {
print Dumper($row); #опять таки для понимания того что происходит
print "<tr>";
print "<th>$row{$_}</th> foreach @headers; #используем @headers дабы получать колонки в правильном порядке. Это важный момент,
print "</tr>";
}
}
>За ТЮНИНГ кода отдельное Спасибо!
Пожалуйста, только не забудьте почитать описание функций map и grep и потренироваться с ними. Обратите внимание, что в коде выше я намерено показал для иллюстрации вариант с foreach вместо map, попробуйте в качестве упражнения сами переделать под map.