---
name: "Path::Dispatcher::Match"
section: "3pm"
platform: "linux"
package: "libpath-dispatcher-perl"
version: "1.08-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Path::Dispatcher::Match"
---

# Path::Dispatcher::Match(3pm)

the result of a successful rule match

## NAME

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

## VERSION

version 1.08

## 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 `$i`th positional capture, 1-indexed.

## SUPPORT

Bugs may be submitted through the RT bug tracker \<https://rt.cpan.org/Public/Dist/Display.html?Name=Path-Dispatcher\> (or bug-Path-Dispatcher@rt.cpan.org \<mailto:bug-Path-Dispatcher@rt.cpan.org\>).

## AUTHOR

Shawn M Moore, `"<sartak at bestpractical.com>"`

## COPYRIGHT AND LICENSE

This software is copyright (c) 2020 by Shawn M Moore.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
