Setas de cancelamento de referência aninhadas no Perl: omitir ou não omitir?

No Perl, quando você tem uma estrutura de dados aninhada, é permitido omitir as setas de des-referência para 2d e mais nível de aninhamento. Em outras palavras, as duas sintaxes a seguir são idênticas:

my $hash_ref = { 1 => [ 11, 12, 13 ], 3 => [31, 32] };

my $elem1 = $hash_ref->{1}->[1]; 
my $elem2 = $hash_ref->{1}[1]; # exactly the same as above

Agora, minha pergunta é:existe uma boa razão para escolher um estilo em detrimento do outro?

Parece ser um osso popular de disputa estilística (apenas em SO, acidentalmente esbarrei emesta eesta no espaço de 5 minutos).

Até agora, quase nenhum dos suspeitos de sempre diz algo definitivo:

perldoc apenas diz "você está livre para omitir a seta de exclusão de referência do ponteiro"."Perl Best Practices" de Conway diz "sempre que possível, desreferencia com flechas", mas parece se aplicar apenas ao contexto de desreferenciar a referência principal, não flechas opcionais no 2º nível de estruturas de dados aninhadas.

O autor de "Mastering Perl for Bioinfirmatics", James Tisdall, também não dá uma preferência muito sólida:

"O leitor perspicaz pode ter notado que parecemos estar omitindo operadores de seta entre os subscritos de uma matriz. (Afinal, essas são matrizes anônimas de matrizes anônimas de matrizes anônimas, etc., portanto, elas não deveriam ser escritas [$ array- > [$ i] -> [$ j] -> [$ k]?) O Perl permite isso: somente o operador de seta entre o nome da variável e o primeiro índice da matriz é necessário, pois facilita as coisas aos olhos e ajuda a evitar o carpal síndrome do túnel. Por outro lado, você pode preferir manter as setas de referência em baixo para deixar claro que está lidando com referências. Sua escolha. "

ATUALIZADA "Intermediate Perl", de acordo com seu co-autor Brian Doy, recomenda omitir as setas. Veja a resposta completa de brian abaixo.

Pessoalmente, estou do lado de "sempre insira flechas, pois é mais legível e óbvio que eles estão lidando com uma referência".

ATUALIZAR Para ter uma legibilidade mais específica, no caso de uma expressão multi-aninhada em que os próprios subscritos são expressões, as setas ajudam a "tokenizar visualmente" as expressões separando mais obviamente os subscritos um do outro.

questionAnswers(3)

yourAnswerToTheQuestion