Thread Funktionsaufruf per String eval
(17 answers)
Opened by Escape at 2008-08-02 21:12
Ich binde via require ein Script ein dessen Bezeichner vom einbinden Script ermittelt wird.
Aus dem einbinden Script heraus, habe ich auch den Namen ($sub_name) einer Funktion die in dem einzubindenden Script enthalten ist. Diese Funktion liefert die Refferenz auf ein, innerhalb des eingebundenen Scripts enthaltenes, Array zurück. Wenn ich nun schreibe: @array = @{eval "$sub_name()"}; dann habe ich (wie erwartet) Zugriff auf die Elemente der Varibalen @array. Warum aber kann ich auch schreiben: @array = @{eval "$sub_name"}; oder: @array = @{eval "&$sub_name"}; und erreiche auch damit eine Zuweisung zu @array? P.S. Heißt es nun eigentlich der Array oder das Array? Die Deutsche Rechtschreibung ist Freeware; Du darfst sie kostenlos nutzen – aber sie ist nicht Open Source, d.h. Du darfst sie nicht verändern und/oder in veränderter Form veröffentlichen.
|