Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Path::Dispatcher::MatcUser Contributed Perl DocumentPath::Dispatcher::Match(3)

NAME
       Path::Dispatcher::Match - the result of a successful rule match

SYNOPSIS
	   my $rule = Path::Dispatcher::Rule::Tokens->new(
	       tokens => [ 'attack', qr/^\w+$/ ],
	       block  => sub {
		   my $match = shift;
		   attack($match->pos(2))
	       },
	   );

	   my $match = $rule->match("attack dragon");

	   # introspection
	   $match->path		       # "attack dragon"
	   $match->leftover	       # empty string (populated with prefix rules)
	   $match->rule		       # $rule
	   $match->positional_captures # ["attack", "dragon"] (decided by the rule)
	   $match->pos(1)	       # "attack"
	   $match->pos(2)	       # "dragon"

	   $match->run		       # attack("dragon")

DESCRIPTION
       If a Path::Dispatcher::Rule successfully	matches	a path,	it creates one
       or more "Path::Dispatcher::Match" objects.

ATTRIBUTES
   rule
       The Path::Dispatcher::Rule that created this match.

   path
       The path	that the rule matched.

   leftover
       The rest	of the path. This is populated when the	rule matches a prefix
       of the path.

   positional_captures
       Any positional captures generated by the	rule. For example,
       Path::Dispatcher::Rule::Regex populates this with the capture
       variables.

   named_captures
       Any named captures generated by the rule. For example,
       Path::Dispatcher::Rule::Regex populates this with named captures.

   parent
       The parent match	object,	if applicable (which may be set	if this	match
       is the child of,	for exampl, a Path::Dispatcher::Rule::Under prefix)

METHODS
   run
       Executes	the rule's codeblock with the same arguments.

   pos($i)
       Returns the $ith	positional capture, 1-indexed.

perl v5.24.1			  2015-02-18	    Path::Dispatcher::Match(3)

NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | METHODS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Path::Dispatcher::Match&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help