I always use parens when calling user-defined subroutines and methods because:
- The consistency of always using parens when calling user-defined subroutines/methods makes the code easier to read (for me).
- Code tends to be more robust if it is reorganized in the future. For example, if you later switch from use (compile-time) to require (run-time) (to speed initial module load or when porting to a new platform, say) your code may break in surprising ways. Even if you can "easily" fix the code to use parens (so that it will parse correctly with require), doing so risks breaking what might be thousands of lines of working production code ... so avoid that future risk by always using parens in the first place.
This is essentially the same advice given in Perl Best Practices,
Chapter 9, "Subroutines" in the "Call subroutines with parentheses but without a leading &" item.
See also: to paren or not to paren