Какой модуль вы используете для доступа к базе данных? Я не распознаю имена методов.
Если вы используете DBI , вы можете получить имена столбцов из дескриптора оператора после его выполнения:
my $sth = $dbh->prepare($STMT);
$sth->execute;
my $columns = $sth->{NAME_uc};
while (my $row = $sth->fetch) {
for my $i (0 .. $#$row) {
print "$columns->[$i]: $row->[$i]\n";
}
print "\n";
}
Существует 3 версии имен столбцов: NAME
дает имена столбцов по мере того, как база данных возвращает их, NAME_lc
преобразует их во все строчные буквы, а NAME_uc
преобразует их во все прописные. Если вам небезразлична независимость базы данных, я советую вам избегать NAME
и использовать один из двух других.