They're trying to explain you that you're using subs that are actually portions of code factorized away, but you're using them to manipulate "global" variables as a side effect. Sometimes it is sensible to do so, but it's rare: most often, and I mean most, you want to exploit a distinctive feature of them, precisely the one that makes them "functions", i.e. you give something to them to eat, and they spit out a result for you.
Different languages use different mechanisms for parameter passing. Perl uses a special array called @_: there are several idioms in connection with it. To go on, I heartily recommend you read perldoc perlsub - you wrote that you're "self taught", so please (do a favour to yourself and) continue your self-teaching on that page!
In reply to Re^3: passing variables between subroutines
by blazar
in thread passing variables between subroutines
by budreaux
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |