Hier hast du doch dein Array?
Ja - indem jetzt die einzelnen Referenzen stehen ...
Genau. Aber das wird auch nicht durch das doppelte array anders.
Es geht auch: my @inh = @$ref;
Ja.
Aber warum? Du hast damit das Array doppelt im Speicher
Ironisch: Hab ja genug Speicher haha :)
Naja, in deiner Abfrage ist keine Begrenzung, d.h. es werden zwei Spalten der kompletten Tabelle in den Speicher geladen, das kann sehr viel sein.
Ich seh halt im Moment keinen anderen Weg, deshalb ja der Thread.
$ref ist eine Referenz auf Referenzen. @inh = @$ref; zerlegt die Referenz in die einzelnen Referenzen.
Das stimmt nicht. Das einzige was du machst, du kopierst die Array Referenz in das Array, aber der Inhalt des Array ändert sich nicht.
Was anderes ist mir eben nicht eingefallen. Meine Frage war wie es anders besser geht. Hmmm ...
Das würde ich auch bevorzugen, momentan bist du auf dem Holzweg. Hast du dir eigentlich schon mal perldoc angeschaut? Da gibt es einige Dokumente über Referenzen und Listen von Referenzen. Ohne das du diese gelesen hast, wirst du nicht weiter kommen.
my $ref=$selinh->fetchall_arrayref;
Jetzt hab die Referenz auf die Referenzen in $ref. @inhalt muss nun alle AKZ´s einzeln beinhalten, damit ich den Hash entsprechend füttern kann.
Welchen Hash?
Evtl. willst du gar nicht fetchall sondern irgendeine andere fetch funktion des DBI Moduls verwenden.
Als nächsten Schritt muss ich doppelt vorkommende Strings entfernen und die Vorkommen zählen.
Das klingt mir eher nach einer Aufgabe für die SQL Abfrage. z.b. mit group by
while (my ($v1, $v2) = each %saw)
sowas kann man ürbigens sehr schön und wesntlich lesbarer mit dem CGI Modul machen, dort gibt es eine Funktion popup_menu() mit dem man Auswahlisten mit Hilfe von Perl Datenstrukturen dynamisch ausgeben kann.
Die Frage: Wie zerlege ich $ref am besten hab ich seit des DBI Threads. Ich verstehe auch den Sinn nicht warum es keine Möglichkeit gibt gleich von Anfang an mit -man verzeihe mir- "brauchbaren Werten" zu arbeiten. Das zerlegen von $ref ist ja nicht vermeidbar wenn man die Daten verarbeiten und ausgeben will. Warum also dieser "Umweg".
Das frag ich mich auch, den Umweg gehst du.
Also entweder ist schon der Ansatz fetchall_arrayref falsch oder was.
würd ich auch so sehen.
Struppi.
Javascript ist toll (Perl auch!)