Thread Prüfen ob eine Subroutine vorhanden ist? (10 answers)
Opened by Strat at 2004-04-30 12:26

Strat
 2004-04-30 17:35
#81947 #81947
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[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...

Ein weiterer Ansatz ist, AUTOLOAD zu verwenden; wenn das Script dann in der Subroutine AUTOLOAD haengt, weisst du, dass was schiefgegangen ist, z.B.

Code: (dl )
1
2
3
4
use vars qw($AUTOLOAD);
sub AUTOLOAD {
print "Die Subroutine $AUTOLOAD konnte nicht geladen werden\n";
} # AUTOLOAD

oder so aehnlich
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread Prüfen ob eine Subroutine vorhanden ist?