Flechas de anulación de referencia anidadas en Perl: ¿omitir o no?

En Perl, cuando tiene una estructura de datos anidada, está permitido omitir las flechas de referencia a 2d y más niveles de anidamiento. En otras palabras, las siguientes dos sintaxis son 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

Ahora mi pregunta es:¿Hay una buena razón para elegir un estilo sobre el otro??

Parece ser un hueso popular de disputa estilística (solo en SO, accidentalmente me topé conesta yesta en el espacio de 5 minutos).

Hasta ahora, casi ninguno de los sospechosos habituales dice nada definitivo:

perldoc simplemente dice "eres libre de omitir la flecha de referencia de puntero".Las "Mejores prácticas de Perl" de Conway dicen "siempre que sea posible, desreferenciar con flechas", pero parece que solo se aplica al contexto de desreferenciar la referencia principal, no flechas opcionales en el nivel 2d de estructuras de datos anidados.

El autor de "Mastering Perl for Bioinfirmatics" James Tisdall tampoco da una preferencia muy sólida:

"El lector ingenioso puede haber notado que parece que estamos omitiendo operadores de flecha entre subíndices de matriz. (Después de todo, estas son matrices anónimas de matrices anónimas de matrices anónimas, etc., por lo que no deberían escribirse [$ array- > [$ i] -> [$ j] -> [$ k]?) Perl permite esto; solo se requiere el operador de flecha entre el nombre de la variable y el primer subíndice de matriz. Hace las cosas más fáciles para los ojos y ayuda a evitar el carpo síndrome del túnel. Por otro lado, puede preferir mantener las flechas de desreferenciación en su lugar, para dejar en claro que se trata de referencias. Su elección ".

ACTUALIZADO "Intermediate Perl", según su coautor Brian D Foy, recomienda omitir las flechas. Vea la respuesta completa de Brian a continuación.

Personalmente, estoy del lado de "siempre poner flechas, ya que es más legible y obvio que se trata de una referencia".

ACTUALIZAR Para ser más específicos, re: legibilidad, en el caso de una expresión multi-anidada donde los subíndices en sí mismos son expresiones, las flechas ayudan a "tokenizar visualmente" las expresiones al separar más obviamente los subíndices entre sí.

Respuestas a la pregunta(3)

Su respuesta a la pregunta