Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: to paren or not to paren

by eyepopslikeamosquito (Chancellor)
on Apr 26, 2014 at 08:43 UTC ( #1083909=note: print w/replies, xml ) Need Help??

in reply to to paren or not to paren

I always use parens when calling user-defined subroutines and methods (except when playing golf) 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. The first item in Chapter 9 is: "Call subroutines with parentheses but without a leading &". Luckily, Chapter 9 happens to be the free sample chapter from this book so you can read why Damian offers this advice right now.

Replies are listed 'Best First'.
Re^2: to paren or not to paren
by Jim (Curate) on Apr 28, 2014 at 03:52 UTC

    Very well put, ++eyepopslikeamosquito.

    To me, the consistent use of parentheses when calling user-defined subroutines and all methods makes the code more readable. It looks nicer.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1083909]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2018-06-23 08:34 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (125 votes). Check out past polls.