Ist das nicht das Gleiche wie:
my @vars = sql(qq{
SELECT * FROM ebay_categories
WHERE ID != parent SORT BY parent});
Nein
SELECT * FROM ebay_categories WHERE ID != parent SORT BY parent
Nein diese abfrage gibt alle einträge außer die parents zurück
also ca. 86000Diese
SELECT * FROM ebay_categories WHERE parent = '$_[0]' AND ID != parent});
gibt nur die entsprechenden childs von $_[0] zurück...
das sind so zwischen 0 und 30 Datensätze
und wozu die Rekursion?
my $count = (@vars/4);
Also hier die Anzahl der Datnesätze durch 4.
Das bringt die &sql funktion so mit, die liefert ein array der ergebnismenge, also pro datensatz 4 einträge im array, /4 = anzahl der datensätzeBenutzt Du nicht das DBI Modul?
Doch klar, in der sql subroutine
Aber was ist das für eine seltsame Struktur?
Du liest die komepltten Daten ein und erzeugst dann Array in dem jeweils 4 Einträge einem Datensatz entsprechen?
Warum nicht
$vars = [
[satz_1_feld_1, satz_1_feld_2, satz_1_feld_3, satz_1_feld_4],
[satz_2_feld_1, satz_2_feld_2, satz_2_feld_3, satz_2_feld_4]
];
also eine Struktur die auch den Daten entspricht? Oder die von der DBI Abfrage zurück kommt (ich nehme an du nimmst fetchrow_arrayref)
Struppi.