in reply to Tweaking 'return'.

You might consider using only a single return, and directing your flow to it. If you are returning values, then set a variable to the appropriate value in your conditionals, and return from the same point (with the print subroutine just before). If you're only returning based on conditionals, consider setting a flag.