Thread Funktionen aus Modul parsen
(6 answers)
Opened by rosti at 2012-03-01 18:46
Vielen Dank!!! Jow, so würde das ohne AutoLoader aussehen. Ist das so, dass mit dem AutoLoader zweimal kompiliert wird???
Mir gehts seit heute morgen darum, meine bisherige Kontrollstruktur beizubehalten, deswegen die Idee mit dem AutoLoader. In der bisherigen Kontrollstruktur wird ohnehin der Code einer jeden Methode per UNIVERSAL::can auf eine anonyme Referenz gelegt und beim Ausführen auf Exceptions getestet (was Einiges vereinfacht). Nochmal das Wesentliche: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 my $mo = main->new; my $code = $mo->can('foo') or die "Die Methode wurde nicht gefunden"; $mo->$code(); # execute print Dumper $mo; # INCR => 1 sub new{ return bless{INCR => 0}, shift } sub AUTOLOAD{ my $self = shift; my $subname = our $AUTOLOAD; $subname =~ s/.*:://; # extrahiere Klassen Name if(exists $mh{$subname}){ # compiliert wird hier my $code = eval "sub{$mh{$subname}}"; return $self->$code(@_); } } Die Stelle, wo compiliert wird, habe ich mal eingezeichnet ;) Last edited: 2012-03-02 23:08:28 +0100 (CET) |