Thread Funktionsaufruf per String eval (17 answers)
Opened by Escape at 2008-08-02 21:12

Escape
 2008-08-02 21:12
#113020 #113020
User since
2008-07-24
312 Artikel
BenutzerIn
[default_avatar]
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.

View full thread Funktionsaufruf per String eval