$hash = {};
^^^^^ ^^
referrer referent
В следующем выражении:
$self = bless( $hash, $pkg );
bless
помечает референт (анонимный хеш), на который ссылается $hash
, как объект $pkg
(класс HTML :: Template).Он не изменяет переменную $hash
.
Функция bless
возвращает ссылку на благословенный анонимный хеш.$self
, следовательно, становится ссылкой на благословенный анонимный хеш (референт).
Важно помнить, что если первый аргумент функции bless
является ссылкой, то это вещь, к которойэто относится к благословению, а не к самой переменной:
$self = bless( $self, $pkg );
$self
ни к чему не относится - это undef
.Нет ссылки на благословение.Это равносильно попытке сделать это:
$self = bless( undef, $pkg );
Благослови моих референтов дает отличное введение в предмет.