Thread Prüfen ob eine Subroutine vorhanden ist?
(10 answers)
Opened by Strat at 2004-04-30 12:26
[quote=Strat,30.April.2004, 15:35][quote=ptk,30.04.2004, 11:58]Du kannst den Aufruf in ein eval { ... } einpacken und den Fehlerwert danach pruefen. Existiert die Funktion nicht, wird $@ auf /Undefined subroutine/ matchen.[/quote]
achtung: sowas kann gefaehrlich sein, weil die funktion ja im eval ausgefuehrt wird... wenn du wirklich nur wissen willst, ob sie existiert, bleibt wohl nur meine Loesung von oben. Wenn du sie hingegen ausfuehren willst, ist der eval-Ansatz wohl besser... [/quote]Genau. Wobei dein Ansatz nicht immer funktioniert, insbesondere nicht, wenn per AUTOLOAD nachgeladen wird. Fuer das Testen auf Existenz von Subroutinen gilt ungefaehr das gleiche wie beim Testen, ob eine Datei lesbar oder schreibbar ist: solange man die Aktion nicht durchfuehrt, kann man sich nie sicher sein. QuoteEs sein denn, es wird bereits AUTOLOAD verwendet. |