using "&" is not needed in most parts of your code, but is still used for some things.
From what I have read, tells to save the use of "&" for calling subroutines to equale other stuff like
$SIG{__DIE__} = \&fatal_error;and other uses.
Perl 5 still supportes "&" but the preferd format is like "a_sub();" the "&" is considered as clutter.
A Link to Chapter 9 of
Perl Best Practices page 176 explains this and I suggest to reading the hole Chapter and/or buy the book.
Good Luck