Scroll to navigation

Catalyst::Action(3pm) User Contributed Perl Documentation Catalyst::Action(3pm)


Catalyst::Action - Catalyst Action


    <form action="[%c.uri_for(c.action)%]">
    $c->forward( $action->private_path );


This class represents a Catalyst Action. You can access the object for the currently dispatched action via $c->action. See the Catalyst::Dispatcher for more information on how actions are dispatched. Actions are defined in Catalyst::Controller subclasses.



The sub attributes that are set for this action, like Local, Path, Private and so on. This determines how the action is dispatched to.


Returns the name of the component where this action is defined. Derived by calling the catalyst_component_name method on each component.


Returns a code reference to this action.

dispatch( $c )

Dispatch this action against a context.

execute( $controller, $c, @args )

Execute this action's coderef against a given controller with a given context and arguments

match( $c )

Check Args attribute, and makes sure number of args matches the setting. Always returns true if Args is omitted.

match_captures ($c, $captures)

Can be implemented by action class and action role authors. If the method exists, then it will be called with the request context and an array reference of the captures for this action.

Returning true from this method causes the chain match to continue, returning makes the chain not match (and alternate, less preferred chains will be attempted).

match_captures_constraints ($c, \@captures);

Does the \@captures given match any constraints (if any constraints exist). Returns true if you ask but there are no constraints.

match_args($c, $args)

Does the Args match or not?


Tries to find a type constraint if you have on on a type constrained method.


Compares 2 actions based on the value of the "Args" attribute, with no "Args" having the highest precedence.


    if( $action->equal($other_action) ) { ... }

Returns true if the two actions are equal.


Returns the private namespace this action lives in.


Returns the private path for this action.


Returns absolute private path for this action. Unlike "reverse", the "private_path" of an action is always suitable for passing to "forward".


Returns the sub name of this action.


Returns the number of args this action expects. This is 0 if the action doesn't take any arguments and undef if it will take any number of arguments.


The number of arguments (starting with zero) that the current action defines, or undefined if there is not defined number of args (which is later treated as, " as many arguments as you like").


For the purposes of comparison we normalize 'number_of_args' so that if it is undef we mean ~0 (as many args are we can think of).


Returns the number of captures this action expects for Chained actions.


A HashRef of key-values that an action can provide to a debugging screen


Any defined scheme for the action


Provided by Moose.


Catalyst Contributors, see


This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.

2022-07-27 perl v5.34.0