%dispatch = ( foo => \&foo, bar => \&bar, baz => \&baz, qux => \&qux, ); sub foo {} sub bar {} sub baz {} sub qux {} if( exists $dispatch{ $method } ) { $dispatch{$method}->(); }