Jellybean is based on this idea.
The easiest thing to do is to create a hash of code refs. Pull out the query string or URL information or whatever, then use that data as the hash key.
If there's a valid code ref there, call that subroutine. If not, show an error or do a default sub.
For example, you could write:
my %sub_refs = (
foo => \&do_this,
bar => \&do_that,
);
my $request = $ENV{QUERY_STRING};
if (defined(my $action = $sub_refs{$request})) {
$action->();
} else {
default();
}
I'd do something more sophisticated in place of the query string scheme, as it's not terribly brilliant. |