in reply to using a hash of functions

My guess would be that the perl parser is getting a bit confused. Have you tried: &{$functions{$func}} ?

Update: merlyn explains "How to tell Perl What You Mean" below.