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

FoolAck
 2008-08-02 21:49
#113024 #113024
User since
2008-05-02
69 Artikel
BenutzerIn
[default_avatar]
Du könntest auch qq{eval "&$sub_name()"} machen. Schaustu hier.
Quote
To call subroutines:

NAME(LIST); # & is optional with parentheses.
NAME LIST; # Parentheses optional if predeclared/imported.
&NAME(LIST); # Circumvent prototypes.
&NAME; # Makes current @_ visible to called subroutine.


Bedenke btw was passiert, wenn dein "$sub_name" qq{system "rm -rf /"} oder so enthält. (Sprich die "Gefahr" von eval.)
Und afaik heißt es das Array. (Und auch das Hash.)

@Struppi: das ist keine subref.
edit: woah, das ist ja möglich. Allerdings nur ohne 'strict refs'. Aber ist glaube ich besser als per string eval.

View full thread Funktionsaufruf per String eval