Frickelmeister: Noch eine Frage zum auslesen?

Beitrag lesen

Was genau macht eigentlich dieses while (my @rows = $auslesen->fetchrow_array)    { ?
Ich kann nichts anderes machen, als die Daten in einer Wurscht von links nach rechts auszugeben? Ich will mit diesen ausgelesenen Daten auch etwas machen, und nicht nur dumm ausgeben, aber wie kann ich darauf zugreifen? Ich weiß nicht, wie Perl dieses (my @rows = $auslesen->fetchrow_array) behandelt. Liest es die ganze DB da ein? Anscheinend nicht, weil ich mit einer foreach Schleife @rows nicht ausgeben lassen kann, wenn ich es nicht mit while mache, so wie hier. Es würde nämlich dann nur die erste Zeile der Db ausgegeben werden, aber wieso?
Hier der Code:

.
.
.
my $dbh = DBI->connect("DBI:mysql:$database:$dbserver", $user, $pass, {AutoCommit => 0}) or die "Cant connect : $!\n";
my $auslesen = $dbh->prepare("SELECT * FROM haupttabelle") or die "Cant auslesen : $!\n";

$auslesen->execute;

print "Content-type:text/html\n\n";
while (my @rows = $auslesen->fetchrow_array)    {
print "@rows\n";
}

$auslesen->finish;
$dbh->disconnect;

Frickelmeister.