NAME¶
CGI::Application::Dispatch::Regexp - Dispatch requests to CGI::Application based
objects using regular expressions
SYNOPSIS¶
use CGI::Application::Dispatch::Regexp;
CGI::Application::Dispatch::Regexp->dispatch(
prefix => 'MyApp',
table => [
'' => { app => 'Welcome', rm => 'start' },
qr|/([^/]+)/?| => { names => ['app'] },
qr|/([^/]+)/([^/]+)/?| => { names => [qw(app rm)] },
qr|/([^/]+)/([^/]+)/page(\d+)\.html?| => { names => [qw(app rm page)] },
],
);
DESCRIPTION¶
CGI::Application::Dispatch uses its own syntax dispatch table.
"CGI::Application::Dispatch::Regexp" allows one to use flexible and
powerful Perl regular expressions to transform a path into argument list.
DISPATCH TABLE¶
The dispatch table should contain list of regular expressions with hashref of
corresponding parameters. Hash element 'names' is a list of names of regular
expression groups. The default table looks like this:
table => [
qr|/([^/]+)/?| => { names => ['app'] },
qr|/([^/]+)/([^/]+)/?| => { names => [qw(app rm)] },
],
Here's an example of defining a custom 'page' parameter:
qr|/([^/]+)/([^/]+)/page(\d+)\.html/?| => { names => [qw(app rm page)] },
COPYRIGHT & LICENSE¶
Copyright Michael Peters and Mark Stosberg 2008, all rights reserved.
SEE ALSO¶
CGI::Application, CGI::Application::Dispatch