Thread eval is evil: Willkommen auf der dunklen Seite?!
(19 answers)
Opened by Ronnie at 2006-11-22 21:21
[quote=Ronnie,23.Nov..2006, 23:00][quote=pq,23.11.2006, 09:25]ronnie, dein beispiel als subref:[/quote]
@pq: Das geht weil es ein Closure ist und so seine Umgebung mitnimmt, oder?[/quote] Also wenn ich mal darauf antworten darf. Eigentlich hat das Verfahren von pq nichts mit einer Closure zu tun. Sondern bei dem Verfahren wird die Symboltabelle direkt bearbeitet. Du solltest dir mal anschauen wie das Modul "Exporter" Arbeitet, das verfährt genauso. Code: (dl
)
1 #!/usr/bin/perl Die Technik basiert eher darauf das du einem Typeglob eine Subref zuweist. Das bedeutet nur der Code Teil des Typeglobs wird gesetzt. Der Wert für den Skalar, Array, Hash, Dateihandle, format etc. bleibt im Typeglob erhalten. Mit "no strict 'refs'" kannst du dann den Funktionsname auch durch einen String angeben. Durch diese Möglichkeit wird das exportieren ermöglicht. Wenn der Sourcecode nicht Variabel zusammenebaut wird, solltest du auch eher diese Wegen gehen. Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
|