my %callbacks = ( foo => \&do_foo, bar => \&do_bar, etc ... ); my $action = $cgi->param('action'); my $callback = $callbacks{$action}; die "No callback!\n" unless $callback; return $callback->(@args);