Ich habs! Es ist eigentlich total simple, man muss wie immer nur drauf kommen. Mein Verzeichnis als schöne XML-Struktur:
.... our $sth = $dbh->prepare(q{SELECT ARTKATEGORIE as sohn from WS_ARTKATEGORIE where BGRARTKATEGORIE = ? and aktiv = 1 and shopid =1});
&loop(0); # von ganz oben Anfangen
sub loop{ my $start = shift; my $ref = getSohn($start); return unless ref($ref) eq "ARRAY";
foreach (@{$ref}) { print "<_".$_->[0].">"; &loop($_->[0]); print "</_".$_->[0].">"; } }
sub getSohn{ my $sohn = shift; # holt alle Söhne zum Vater $sth->execute($sohn) || die ("Fehler execute getSohn\n"); return if $sth->rows == 0; my $ref = $sth->fetchall_arrayref; return $ref; }
$sth->finish; $dbh->disconnect;
Mit freundlichen Grüßen
Jens Puruckherr IT & Technik --------------------------------------------- cyberport.de GmbH Versandhaus für Technik & Lifestyle
Am Brauhaus 5 01099 DRESDEN Fon: +49 (0)351/ 33 95 -7808 Webseite: http://www.cyberport.de --------------------------------------------