Thread Klassenaufruf aus Variable erstellen? (12 answers)
Opened by roooot at 2010-04-07 14:04

pq
 2010-04-07 14:22
#135795 #135795
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
2010-04-07T12:04:31 roooot
Wie kann man das ganze Testen ob die Klasse existiert? eval?
Code (perl): (dl )
1
2
eval {use Klasse};
if($@) { print "Fehler: $@" }

ob eine klasse existiert? das kannst du nicht wirklich prüfen bzw. willst du wohl eher nicht. du kannst prüfen, ob ein modul XY geladen werden kann, ja. aber ob dieses dann das package "XY" enthält, ist noch ne andere frage.
nehmen wir also mal an, du möchtest prüfen, ob ein modul geladen werden kann. das gab es übrigens auch schon häufiger als frage hier im forum.
dein beispiel mit "eval { use Klasse }" ergibt so keinen sinn, denn ein "use" wird nun mal immer zur compilezeit ausgeführt, auch wenn es in einem eval-block steht.
entweder nimmst du string-eval
eval "use Klasse";
oder require
eval { require Klasse };

edit: benutzt eigentlich irgendwer dir suche? eine suche nach 'eval AND use' und sortierung nach datum ergibt bei mir gleich ein paar hilfreiche treffer.

edit2: diskussion der suche bitte hier, damit nicht ewig dieselben sachen wieder und wieder durchgekaut werden:
Suche
warum schaffe ich es, was hilfreiches zum thema zu finden und ihr nicht?
Last edited: 2010-04-07 15:21:53 +0200 (CEST)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Klassenaufruf aus Variable erstellen?