Philipp Hasenfratz: Aufruf von Prozeduren und Funktionen mit Strings

Beitrag lesen

Halihallo

Ich möchte gerne Funktionen und Prozeduren durch ihren Namen (als String) aufrufen.

z. B.

my $proc = "SOAP_Function1";
my %Ret = &{$proc}->(%params);    # Funktioniert nicht, wie ich das will ;-(

natürlich gibt es auch die Möglichkeit

%procs = (
      SOAP_Function1 => /&SOAP_Function1,
      SOAP_Function2 => /&SOAP_Function2);   # mit / ist der Backslash gemeint.

my $procPtr = $procs{$proc};
my %Ret = &$procPtr->{%params};

oder ein Aufruf mit eval(),

... aber geht das nicht auch anders? - Wäre froh um eine andere Möglichkeit.

Also: Wie kann ich eine Funktion mit deren Namen, gespeichert in einem String aufrufen?

Vielen Dank im Voraus

Philipp