In Perl erstelle ich eine SQL-Abfrage, die der folgenden ähnelt:
SELECT `id`, `title`, `price` FROM `gamelist`
Was ich tun möchte, ist das Ergebnis dieser Abfrage zu nehmen und es in eine Hash-Tabelle ausgeben. Ich verwende DBI und derzeit weiß ich nur, wie man das Folgende tut:
my %results;
my $count = 0;
while( @result = $statement->fetchrow() ){
%results{'id'}[$count] = $result[0];
%results{'title'}[$count] = $result[1];
%results{'price'}[$count] = $result[2];
$count++;
}
Ich verwende jedoch nicht gerne $result[0]
und vertrauen darauf, dass das erste Feld die ID sein wird. Ich würde viel lieber etwas haben wie:
my %results;
my $count = 0;
while( %result = $statement->fetchrow_as_hashtable() ){
%results{'id'}[$count] = %result{'id'};
%results{'title'}[$count] = %result{'title'};
%results{'price'}[$count] = %result{'price'};
$count++;
}
Ich habe versucht, auf Google zu suchen, konnte aber nicht viele gute Antworten finden, die in DBI/Perl integriert sind. Ich habe eine Open-Source-Klasse gefunden, die diese Funktionalität anbietet, aber ich habe das Gefühl, dass dies ohne die Verwendung einer anderen Klasse möglich sein sollte.