====== Notation fléchée ======
===== Équivalence : =====
$array[$x]->{"foo"}->[0] = "January";
$array[$x]{"foo"}[0] = "January";
mais
$array->[$x]{"foo"}[0] = "January"; (INCORRECT, car le tableau n'est pas une référence)
===== Déréférencement =====
${$arrayref}[0] = ${$arrayref}->[0] = $arrayref->[0] = "January";
${$hashref}{"KEY"} = ${$hashref}->{"KEY"} = $hashref->{"KEY"} = "VALEUR";
${$coderef}(1,2,3) = ${$coderef}->(1,2,3) = $coderef->(1,2,3) Appel de sous-programme ou objet de méthode
${$aref}[3] $aref->[3] à la place.
${$href}{red} $href->{red}
===== Règle n°3 : remplacer ${ } par -> =====
Pour les scalaires uniquement, recommandé
Comparer
${$aref} [3]
$aref->[3]
${$href} {red}
$href->{red}
remplacer ${ }
par ->
Comme nous pouvons le voir, cela ne fonctionne qu'avec le déréférencement scalaire @array = @{$array_ref}
$objref = new Doggie( Tail => 'short', Ears => 'long' );
$objref = Doggie->new( Tail => 'short', Ears => 'long' ); (recommandé)