Dispatch requests to cgi::application based objects using regular expressions
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)] }, ], );
CGI::Application::Dispatch uses its own syntax dispatch table. \*(C`CGI::Application::Dispatch::Regexp\*(C' allows one to use flexible and powerful Perl regular expressions to transform a path into argument list.
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 Michael Peters and Mark Stosberg 2008, all rights reserved.
CGI::Application, CGI::Application::Dispatch