in reply to Mapping URLs to code - in search of perlish dispatch schemes
A straight regex like that is dangerous because the order of the keys could change. To me it looks like you are trying to map different parameter combinations/values to subs. So how about something like:
map_query($cgi, { _page => 'edit', node => /(\w+)/, code => sub { print "You're trying to edit '$node'" }; },{ _page => 'create' name => /(\w+)/, _code => sub { print "You're trying to create '$name' but gave no + code to fill it"; } },{ _page => 'create', name => /(\w+)/, code => /(.*)/, _code => sub { print "Created as sub $name { $code }"; }; },{ _page => /.*/, _code => sub { print "Don't know how to handle " . $q->query_path +; } } );
It is just a rough first attack and i think there is another level of abstraction in there, but you get the idea. It would also be friendly to both post/get requests
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Mapping URLs to code - in search of perlish dispatch schemes
by Corion (Patriarch) on Jul 21, 2006 at 06:29 UTC | |
by jaa (Friar) on Jul 21, 2006 at 09:31 UTC | |
by Corion (Patriarch) on Jul 21, 2006 at 09:34 UTC |