use CGI qw(:all);
my $op = param('operation');
TestPkg->$dispatch('Hello!') if UNIVERSAL::can('TestPkg', $dispatch);
####
my $input = <>;
$_->($input) for
map /^_/ ? () : *{$TestPkg::{$_}}{CODE} || (),
keys %TestPkg::;
####
my $input = <>;
my $sub;
!/^_/ && *$sub{CODE} && *$sub{CODE}->($input)
while ($_, $sub) = each %TestPkg::;
####
package Foo;
use Dispatch;
sub bar {
...
}
sub baz {
...
}
package main;
my $t = Foo->create_dptable;
$t->{bar}->($quux);
####
my $t = {
bar => sub {
...
},
baz => sub {
...
},
};
$t->{bar}->($quux);