in reply to calling functions from data in variables

Your best bet is a dispatch table, which is a hash where the keys are the names of the subroutines you want to execute and the values are the subroutine references (in perl at least) e.g
sub foo { print "in foo\n" } my %dispatch = ( foo => \&foo, bar => sub { print "in bar\n" }, ); my @data = qw/ foo bar /; $dispatch{$_}->() for @data; __output__ in foo in bar
Or if you're feeling particularly devilish you can just abuse the lack of checking for strictures when creating subroutine references e.g
sub foo { print "in foo\n" } (\&{"foo"})->(); __output__ in foo
Ok, so you probably wouldn't want to do it like that, but it's always an option ;)
HTH

_________
broquaint