Verschachtelte Dereferenzierungspfeile in Perl: weglassen oder weglassen?

In Perl ist es bei einer verschachtelten Datenstruktur zulässig, die Entreferenzierungspfeile für 2d und eine höhere Verschachtelungsebene wegzulassen. Mit anderen Worten, die folgenden zwei Syntaxen sind identisch:

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

Nun ist meine Frage,Gibt es einen guten Grund, einen Stil dem anderen vorzuziehen??

Es scheint ein beliebter Stilmittelpunkt zu sein (nur auf SO bin ich aus Versehen darauf gestoßen)diese unddiese innerhalb von 5 Minuten).

Bisher sagt fast keiner der üblichen Verdächtigen etwas Bestimmtes:

perldoc sagt lediglich "Sie können den Zeiger-Dereferenzierungspfeil weglassen".In Conways "Best Practices für Perl" heißt es: "Wann immer möglich, Dereferenzierung mit Pfeilen". Dies scheint jedoch nur für den Kontext der Dereferenzierung der Hauptreferenz zu gelten, nicht für optionale Pfeile auf der 2. Ebene verschachtelter Datenstrukturen.

Der Autor von "Mastering Perl for Bioinfirmatics", James Tisdall, gibt ebenfalls keine besonders solide Präferenz:

"Dem scharfsinnigen Leser ist vielleicht aufgefallen, dass wir Pfeiloperatoren zwischen Array-Subskripten weglassen. (Immerhin sind dies anonyme Arrays von anonymen Arrays von anonymen Arrays usw., sollten sie also nicht geschrieben werden [$ array- > [$ i] -> [$ j] -> [$ k]?) Perl erlaubt dies, es wird nur der Pfeiloperator zwischen dem Variablennamen und dem ersten Array-Index benötigt Tunnelsyndrom. Auf der anderen Seite möchten Sie vielleicht lieber die Pfeile für die Dereferenzierung an Ort und Stelle lassen, um zu verdeutlichen, dass es sich um Referenzen handelt. Ihre Wahl. "

AKTUALISIERT "Intermediate Perl" empfiehlt, die Pfeile wegzulassen. Siehe brian vollständige Antwort unten.

Persönlich stehe ich auf der Seite "Pfeile immer einsetzen, da es lesbarer und offensichtlicher ist, dass es sich um eine Referenz handelt".

AKTUALISIEREN Um die Lesbarkeit zu verbessern: Im Fall eines mehrfach verschachtelten Ausdrucks, bei dem die Indizes selbst Ausdrücke sind, helfen die Pfeile dabei, die Ausdrücke visuell zu kennzeichnen, indem die Indizes deutlicher voneinander getrennt werden.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage