PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Perl: sql Abfragen für HTML::Template



zielscheibe
10-05-2006, 15:02
Hallo NG!

Hab ein Problem damit Daten an ein Template zu übergeben.
Ist es mit HTML::Template nur möglich Hashes zu übergeben ?
Ich hab mehrere Arrays aus einer DB, die ich darstellen möchte.
Nun will ich aber nicht zwanghaft Schlüssel vergeben damit
es mit Hashes geht.
Auf der Suche nach eine Lösung bin ich auf folgendes gestoßen:

my $daten = $dbh->selectall_arrayref(select * from xyz, { Slice=>{} });
Aber ich versteh leider nicht was das Slice macht.
Sollte es nicht anders gehen, gibt es dann eine einfache Möglichkeit ein
Array in einen Hash zu wandeln, außer mit $i die Zeilen zu zählen und dann
$i als Schlüssel zu benutzen und das ganze Teil umzukopieren :confused:

Molaf
10-05-2006, 16:27
In den perldocs zu DBI ist auch ein $dbh->selectall_hashref analog zu Deinem $dbh->selectall_arrayref zu finden, das löst wahrscheinlich Dein Problem.

zielscheibe
11-05-2006, 08:11
Hallo Molaf!

Mein Problem ist nicht die SQL Abfrage, sondern
das HTML::Template. Das Template erwartet
als Übergabe immer einen Hash. Die Frage ist, ob es
einen Trick gibt um ein Array zu übergeben!?

Und ich würde gerne wissen, was macht:

{ Slice=>{} })

Edit -> Antwort:
Der Parameter { Slice=>[] } gibt eine Array-Referenz:
Die einzelnen Felder werden als Hash zurückgegeben.
Bei einer Hashreferenz { Slice=>{} } kann man dann die Namen
der Felder verwenden.