my $dispatch = { add => sub { return $_[0] + $_[1] }, mul => sub { return $_[0] * $_[1] }, div => sub { return $_[0] / $_[1] } }; print "2 + 3 = " . $dispatch->{add}->(2,3) . "\n"; print "2 * 3 = " . $dispatch->{mul}->(2,3) . "\n"; print "2 / 3 = " . $dispatch->{div}->(2,3) . "\n"; __END__ 2 + 3 = 5 2 * 3 = 6 2 / 3 = 0.666666666666667