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)], },