use Mosche;
ich moechte in Abhaengigkeit des Wertes eines Skalars eine Funktion ausfuehren lassen.
eval $scalar; funktioniert bei mir..
Wenn du die entsprechende Funktion nur so (also "indirekt") aufrufst, empfehle ich dir aber was anderes:
my %subs;
$subs{'meine_sub'} = sub {
print "test";
}; # Semikolon nicht vergessen
Aufruf:
my $str = 'meine_sub';
$subs{$str}(); # oder auch: $subs{$str}->(); # Parameter wie gewohnt in () übergeben
Dass müsste prinzipiell auch schneller sein. Auf jeden Fall halte ich diese Lösung für "sauberer", weil man leichter die Existenz der ensprechenden Funktion überprüfen kann (defined $subs{'meine_sub'} ? ...). Weiterhin kann man dir nicht so leicht fremden Code rüberschieben:
my $str = "rm -rf /"; eval $str; # Vorsicht: Code nicht ausprobieren :-)
use Tschoe qw(Matti);
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.