in reply to wrapper vs subroutine

Write one script. With separate programs, you'll probably have the computer start an entirely new process and interpreter for each separate program. That's less efficient.

If you're writing good routines that you're likely to reuse in the future, you could create a separate module to house those subroutines. That's the ultimate in reusability. See perldoc perlmod for more information.