in reply to Re^2: Variable scoping and globs and reference passing to subroutines!!!
in thread Variable scoping and globs and reference passing to subroutines!!!

You misunderstand. I was advising you to not use the prototype. That is you should write:
sub foo { # do something }
rather than
sub foo ($) { # do something }
But since you have raised the issue of predeclaration, the usual practice is to pre-declare nothing and to call them with parens. For instance that is what Damian Conway recommends in Perl Best Practices. Incidentally it isn't just strict that doesn't like the bare form if no declaration has happened. If foo hasn't been declared then foo "bar"; is a syntax error. So no matter what you do, there is no reason to avoid strict.