Что означает $ x -> {_foo} -> {_bar} на Perl? - PullRequest
1 голос
/ 13 марта 2019

Я пытаюсь понять скрипт Perl, и я не понимаю одну строку объявления, которая:

$pin =  $x -> {_foo} -> {_bar}

, тогда как _bar - это неопределенная переменная, объявленная в другом подпрограмме.

1 Ответ

4 голосов
/ 13 марта 2019

Ожидается, что значение $x будет ссылкой на хеш.

$x->{_foo} - это значение элемента с ключом _foo хеша, на которое ссылается $x.

Ожидается, что это значение будет ссылкой на хеш.

$x->{_foo}->{_bar} - это значение элемента с ключом _bar хеша, на которое ссылается $x->{_foo}.

Например, он вернет 123 для следующего:

my $x = {
   _foo => {
      _bar => 123,
   }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...