"The placement of a sub is important only when you call it without parentheses, ..."
I disagree with the inclusion of the word only in that statement.
Here's a situation where placement is important when parentheses are used:
$ perl -wE '
sub meaning () { 42 }
say meaning();
'
42
$ perl -wE '
say meaning();
sub meaning () { 42 }
'
main::meaning() called too early to check prototype at -e line 2.
42
You can, of course, predeclare and leave the definition for later:
$ perl -wE '
sub meaning ();
say meaning();
# ... later in code with other subroutine defintions
sub meaning () { 42 }
'
42