#!/usr/bin/env perl use warnings; use strict; sub somefunc { print "Hello, $_[0]\n" } my %dispatch = ( foo => \&somefunc, bar => sub { print "World$_[0]\n" }, ); $dispatch{foo}->("Perl"); $dispatch{bar}->("!");