SYNOPSIS

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

    my $dispatch = $dispatcher->dispatch("attack goblin");

    $dispatch->matches;     # list of matches (in this case, one)
    $dispatch->has_matches; # whether there were any matches

    $dispatch->run; # attacks the goblin

DESCRIPTION

Dispatching creates a \*(C`dispatch\*(C' which is little more than a (possibly empty!) list of matches.

ATTRIBUTES

matches

The list of Path::Dispatcher::Match that correspond to the rules that were matched.

METHODS

run

Executes the first match.

Each match's \*(L"run\*(R" in Path::Dispatcher::Match method is evaluated in scalar context. The return value of this method is a list of these scalars (or the first if called in scalar context).