throop has asked for the wisdom of the Perl Monks concerning the following question:


Until recently, I've written calls to my subroutines with an ampersand, e.g.

@livesys = sort &Con::liveones;
But Perl Best Practices (p 175) sez Call subroutines with parentheses but without a leading &

I'm running a decrepit Perl, for reasons beyond my control - (5.0 patchlevel 4 subversion 4) and this may be part of my problem, but when I write

@livesys = sort Con::liveones();
I get an empty array. I can work around this (starting with 'If its not broke dont fix it' - leaving the code alone. Or putting the result in a temporary variable, etc.) But what's the Best Practice way?