Tag Markus.
Benutzt Du nicht das DBI Modul?
Doch klar, in der sql subroutine
Warum lässt du deine Subroutine nicht einfach 0 zurückliefern, wenn es keine Ergebnisse gibt, dann sollte sich der rekursive Aufruf der Funktion auch besser steuern lassen. Und eventuell solltest du mit Referenzen arbeiten, das könnte effizienter sein:
sub abfrage {
my $statement = shift;
my $sth = $dbh->prepare($statement);
$sth->execute();
my $rows = $sth->rows;
if ($rows <= 0) {
return 0;
}
else {
my @rows = $sth->fetchrow_array();
return \@rows;
}
}
my $ret = abfrage(...);
if($ret) {
# tu was
# neuer Aufruf von abfrage
}
Ungetestet runtergetippt, Fehler bitte ich nachzusehen.
Siechfred