i don't think it's a bug.
Catalyst::Manual::Intro also says:
You can pass variable arguments as part of the URL path, separated
with forward slashes (/). If the action is a Regex or LocalRegex, the
'$' anchor must be used. For example, suppose you want to handle /foo/
$bar/$baz, where $bar and $baz may vary:
sub foo : Regex('^foo$') { my ($self, $context, $bar, $baz) = @_; }
[..snip..]
If a Regex or LocalRegex action doesn't use the '$' anchor, the
action will still match a URL containing arguments, however the
arguments won't be available via @_.
have you tried adding :Args(0) to the action?
On Mar 2, 2007, at 9:59 AM, Bill Moseley wrote:
On Thu, Mar 01, 2007 at 04:13:05PM -0800, Bill Moseley wrote:
Seems that Catalyst first tries to match the full path, then tries to
match a reduced path. Adding a bit of debugging to Regex.pm's
match()
method:
Request = /training/webcasts/webcast_data/162/foo.html
Checking [training/webcasts/webcast_data/162/foo.html]
Checking [training/webcasts/webcast_data/162]
*MATCHED*
Ok, so is that a bug? Or am I not understanding the docs?
# Regex
sub bar : Regex('^item(\d+)/order(\d+)$') { }
Matches any URL that matches the pattern in the action key, e.g.
http://localhost:3000/item23/order42. The '' around the regexp is
optional, but perltidy likes it. :)
So it seems that would also match:
http://localhost:3000/item23/order42/something.else
but the "$" would indicate to me that it much only match the shorter
string.
--
Bill Moseley
[EMAIL PROTECTED]
_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/
[email protected]/
Dev site: http://dev.catalyst.perl.org/
---
michael reece :: software engineer :: [EMAIL PROTECTED]
_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/