use strict; use warnings; use Dancer2; get '/hello/:name' => sub { my $name = route_parameters->get('name'); return "Hello, $name"; }; hook before => sub { my $name = route_parameters->get('name'); is_disallowed($name) and send_error("$name is disallowed", 401); }; sub is_disallowed { my $name = shift; return $name eq 'nick' ? 1 : 0; } dance;