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).