Как понять подколл "sub ($c) {...}"?

Я читаю пример mojo с: https://mojolicious.org/ Ниже приведен код:

use Mojolicious::Lite -signatures;

# Render template "index.html.ep" from the DATA section
get '/' => sub ($c) {
  $c->render(template => 'index');
};

......

Мой вопрос, как получить этот кусок кода, скомпилированный Perl? Обычно я буду кодировать подзвоны как:

get '/' => sub {
      my $c = shift;
      $c->render(template => 'index');
    };

Это может быть хорошо скомпилировано клубничным Perl. В то время как пример кода от mojo получил ошибки:

D:\Source\test_code\mojotest>perl mojo3.pl daemon
Illegal character in prototype for ? : $c at mojo3.pl line 4.
Illegal character in prototype for ? : $c at mojo3.pl line 9.
Illegal character in prototype for ? : $c, $msg at mojo3.pl line 10.

Кто-нибудь может сказать, почему?

0 ответов

Другие вопросы по тегам