&sub verwende ich auch nicht, sondern nur &sub(), weil es mir konsistenter erscheint (skalare Variablen beginnen mit $, Arrays als ganzes mit @, ...). Fremde Subs (z.B. aus Modulen) rufe ich aber auch mit sub() auf, so sehe ich zusaetzlich noch auf den ersten Blick, ob die Sub, die aufgerufen wird, von mir stammt oder ob sie "extern" ist...
Bei meinen Kursen weise ich immer darauf hin, dass die Leute die Klammern hinterher nicht vergessen sollen; ob sie davor ein & oder nicht schreiben, ist mir ziemlich egal (ich weise allerdings auf das Prototypen-Problem hin).
$sub->() hingegen verwende ich immer, weil ich die Pfeilschreibweise bei dereferenzierungen bevorzuge, was gerade bei komplexeren datenstrukturen die lesbarkeit ziemlich erhoeht
# nicht:
&{ ${ $$x{a} }{b} }{c}}()
# wo ich mich vermutlich auch mit den klammern vertan habe, sondern:
$x->{a}->{b}->{c}->();
\n\n
<!--EDIT|Strat|1110813957-->