my %handlers = ( first => \&display_first, second => \&display_second, ... ); my $handler = $handlers{$query->param( "button" )}; if (!$handler) { ... } $handler->($query, $region, $var1, $var2, $var3);