Hallo Malte,
das habe ich schon ca 362784328mal getan... aber ich finde da nix auf cpan - und inwiefern meine frage jetzt was mit der mysql-doku zu tun hat, wäre ich gespannt.
Das von Dir beschriebene Verhalten von "selectrow_hashref" ist bei CPAN fürs DBI-Modul genauso dokumentiert:
"[...]This utility method combines "prepare", "execute" and "fetchrow_hashref" into a single call. It returns the FIRST ROW of data from the statement.[...]
Es ist also nicht verwunderlich, dass Du nur eine Zeile wiederbekommst.
Versuch mal folgendes:
my $sth = $dbh->prepare ("SELECT * FROM tabelle usw.");
$sth->execute or die "Cannot Do select"
while ($hash_ref = $sth->fetchrow_hashref) {
$date = $hash_ref->{'date'};
...
...
}
(ohne Gewähr)
Dieses Konzept ist bei allen MySQL-APIs (ob Perl/PHP oder was auch immer) im Endeffekt gleich
(1. Datenbankverbindung aufbauen, 2. Select-Statement absetzen, 3. so lange Tabellenzeilen vom Ergebnis-Vektor nachholen (das macht fetchrow_hashref), bis keine mehr kommt), daher auch Struppis Verweis auf die MySQL-Doku :)
Viele Grüße,
Jörg