
Path::Dispatcher::Dispatch - a list of matches

my $dispatcher = Path::Dispatcher->new(
rules => [
Path::Dispatcher::Rule::Tokens->new(
tokens => [ 'attack', qr/^\w+$/ ],
block => sub { attack($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

Dispatching creates a dispatch which is little more than a (possibly empty!) list of matches.

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

Executes the first match.
Each match's "run" 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).