Halihallo
Ich habe eine AUTOLOAD-Funktion, welche nicht definierte Funktionsaufrufe abfängt, verarbeitet und gewisse Aktionen ausführt. Einige Methodennamen können jedoch von dieser AUTOLOAD-Funktion nicht verarbeitet werden, und genau diese sollen von der SUPER-Klasse ausgeführt werden. Leider habe ich es bisher nur mit eval-lösen können, was auch funktioniert. Aber ich will keine eval in meiner AUTOLOAD-Funktion. Kann mir jemand auf die Sprünge helfen, wie ich den gewünschten Effekt ohne eval erzielen kann? - Ich bin mir ziemlich sicher, dass dies irgendwie gehen muss.
------
my $meth_invoc = '';
my ($tmp, @tmp) = ('', '');
if (wantarray()) {
$meth_invoc = "@tmp = $self->SUPER::$method( @params );";
} else {
$meth_invoc = "$tmp = $self->SUPER::$method( @params );";
}
eval $meth_invoc; # giving up and passing to XML::DOM-Interface
die $@ if ($@);
return $tmp unless (wantarray());
return @tmp if (wantarray());
------
Viele Grüsse
Philipp