#perl
#perl
Вопрос:
Я пытаюсь понять скрипт на Perl, и я не понимаю одну строку объявления, которая:
$pin = $x -> {_foo} -> {_bar}
тогда как _bar — это переменная undef, объявленная в другом подразделе.
Комментарии:
1. Смотрите perldoc perlref для получения дополнительной информации о синтаксисе
2.
_bar
почти наверняка не является переменной. Это просто строка.
Ответ №1:
Ожидается, что значение $x
будет ссылкой на хэш.
$x->{_foo}
это значение элемента с ключом _foo
хэша, на который ссылается $x
.
Ожидается, что это значение будет ссылкой на хэш.
$x->{_foo}->{_bar}
это значение элемента с ключом _bar
хэша, на который ссылается $x->{_foo}
.
Например, это вернуло бы 123
для следующего:
my $x = {
_foo => {
_bar => 123,
}
};