Вот фрагмент кода из приложения базы данных sqlite, над которым я работаю:
my $query = "select * from pins";
my $sth = $dbh->prepare($query) or die "Couldn't prep: $DBI::errstr";
$sth->execute or die "Exec problem: $DBI::errstr";
my $result = $sth->fetchall_arrayref();
my $names = $sth->{NAME} or die "Name failed: $DBI::errstr";
foreach my $row (@$res) {
# ... do some row-specific things
foreach my $cell (@$row) {
# ... do some cell-specific things
}
}
Запрос запускается очень хорошо и фактически возвращает правильные результаты.Однако по какой-то причине эта строка
my $names = $sth->{NAME} or die "Name failed: $DBI::errstr";
Fails.{NAME} никогда не возвращает ожидаемый массив.Если я вычеркну предложение die, оно будет работать нормально (конечно, выбрасывая ожидаемое предупреждение об использовании неинициализированных значений везде, где я использую $ names).
Есть ли какая-то очевидная причина, по которой я скучаю,NAME} не сработает, учитывая, что запрос работал нормально?
Спасибо!