Don't you mean the converse? Placing prototypes before subroutine calls means the subroutine definition can occur much later, whereas not using prototypes means that subroutine definitions much be encountered prior to those subroutines being called.
Not to be pedantic, I'm simply trying to understand the ramifications of warnings & strict.