[Dresden-pm] Problem mit Moduleinbindung

Steffen Winkler steffen.winkler at gmx.net
Mi Aug 15 00:33:28 PDT 2007


Warum macht ihr immer nur string eval und verlangt, daß der Interpreter zurück zum Compiler schaltet und dann wieder zurück zum Interpreter. Das ist Horror. Warum nehmt Ihr nicht nicht block eval.
    eval {was hier drin died bricht nur den eval ab};
Hatte ich das nicht eindeutig geschrieben, daß man das nicht braucht. Bei require kann man den Modulename auch als Variable
 require $var;
angeben. Klassen- oder Modulenamen sind sowieso strings, und Methodennamen können auch variablen sein.
   $class->$method(); 

use Carp qw(croak);

eval {require $myModul}; 
croak $@ if $@; # verwende immer croak anstatt von die

if(my $coderef = UNIVERSAL->can($myModul, $mysub)){
    ($value{'a'}, $value{'b'}, $value{'c'}) = $coderef(\%h);
}

War nicht
    $class->can($method), die Frage auf Existenz von Objektmethoden, bei Berücksichtigung des @ISA?