通常,我可以通过随机尝试这两个选项的不同排列来获得所需的行为,但是我仍然无法确切地说出它们的作用。有一个具体的例子可以证明两者之间的区别吗?

最佳答案

如果至少剩余N个参数,则:CaptureArgs(N)匹配。它用于非终端链式处理程序。
:Args(N)仅在剩下正好N个参数的情况下匹配。

例如,

sub catalog : Chained : CaptureArgs(1) {
    my ( $self, $c, $arg ) = @_;
    ...
}

sub item : Chained('catalog') : Args(2) {
    my ( $self, $c, $arg1, $arg2 ) = @_;
    ...
}

火柴
/catalog/*/item/*/*

关于perl - :Args and :CaptureArgs in Catalyst?和有什么不一样,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11111172/

10-11 05:15