A list of matches
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
Dispatching creates a \*(C`dispatch\*(C' 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 \*(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).