Если у меня глубокая многоуровневая (динамическая) хеш-структура, я пытаюсь ссылаться на более глубокие части через отдельные переменные, что-то вроде этого:
my $multilevel_dynamic_hash;
my $dynamic_a = int( rand() * 100 );
my $dynamic_b = int( rand() * 100 );
my $dynamic_c = int( rand() * 100 );
$multilevel_dynamic_hash->{ $dynamic_a }{ $dynamic_b }{ $dynamic_c } = {};
my $reference_as_hashref = $multilevel_dynamic_hash->{ $dynamic_a }{ $dynamic_b }{ $dynamic_c };
call_to_some_subroutine( $reference_as_hashref );
Теперь вместо этих двух строк
$multilevel_dynamic_hash->{ $dynamic_a }{ $dynamic_b }{ $dynamic_c } = {};
my $reference_as_hashref = $multilevel_dynamic_hash->{ $dynamic_a }{ $dynamic_b }{ $dynamic_c };
есть ли возможность избежать первой строки и объявить $reference_as_hashref
, чтобы она трактовала последнюю часть ($dynamic_c
) как ключ к следующему уровню хэша?
EDIT
Я бы хотел взять ссылку, что-то вроде этого:
my $reference_as_hashref = $multilevel_dynamic_hash->{ $dynamic_a }{ $dynamic_b }{ $dynamic_c }{};
Внимание! last {}
Вместо этого сначала я должен сказать, что значением является hashref, а затем я могу сослаться на него. Возможно ли это за один шаг?