14
When using & before the sub name and no argument list is passed, the current @_ is passed as argument instead. So, it is a feature.
Here are the different ways to call a subroutine:
NAME(LIST); # & is optional with parentheses.
NAME LIST; # Parentheses optional if predeclared/imported.
&NAME(LIST); # Circumvent prototypes.
&NAME; # Makes current @_ visible to called subroutine.
from perldoc perlsub