Path::Dispatcher::Rule::CodeRef - predicate is any subroutine
my $rule = Path::Dispatcher::Rule::CodeRef->new( matcher => sub { time % 2 }, block => sub { warn "Odd time!" }, ); my $undef = $rule->match("foo"); # even time; no match :) my $match = $rule->match("foo"); # odd time; creates a Path::Dispatcher::Match $rule->run; # warns "Odd time!"
Rules of this class can match arbitrarily complex values. This should be used only when there is no other recourse, because there's no way we can inspect how things match.
You're much better off creating a custom subclass of Path::Dispatcher::Rule if at all possible.
A coderef that returns undef if there's no match, otherwise a list of strings (the results).
undef
The coderef receives the path object as its argument, and the path string as $_.
$_
To install Path::Dispatcher, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Path::Dispatcher
CPAN shell
perl -MCPAN -e shell install Path::Dispatcher
For more information on module installation, please visit the detailed CPAN module installation guide.