Отказ от ответственности: я не хищный хакер:)
Это не сработает, так как 'shift' извлекает данные из текущего контекста (из @_). Я бы предположил, что самая короткая (короткая рука) будет:
get '/hello/:name' => sub { ControllerTest::hello( shift ); };
или, может быть, с помощью дополнительной ссылки:
get '/hello/:name' => \&ControllerTest::hello
Тогда первым аргументом, передаваемым в hello
, будут все аргументы, передаваемые анонимному подпрограмме. Я не пробовал это, но я подозреваю, что это будет работать:)