Что означает "лестница к югу от {...}" в Perl? - PullRequest
0 голосов
/ 22 мая 2018

Я читаю tweetylicious источник из github для изучения Mojolicious framework:

Однако я смущен приведенным ниже фрагментом кода ladder sub ....Что это значит в Perl?Похоже, не обычная грамматика Perl.

Кстати, я с клубничным Perl 5.

# The rest of the routes are specific to logged in users, so we
# add a ladder to make sure (instead of making sure inside each route)
ladder sub {
    my $self = shift;
    return 1 if $self->session('name');
    $self->redirect_to('/login') and return;
};

1 Ответ

0 голосов
/ 22 мая 2018

Это вызов подпрограммы с именем ladder, которая ожидает ссылку на код в качестве первого аргумента.Это эквивалентно

$tmpfunc = sub {
    my $self = shift;
    return 1 if $self->session('name');
    $self->redirect_to('/login') and return;
};
ladder($tmpfunc);
...