in reply to Detecting scoping/namespace conflicts
gregw asked:
What I now want to know is, is there some useful trick or mechanism like 'use strict' or 'perl -w' that I could use to catch this class of bug more easily?
There are a couple of things you can do. First, local only works on package variables and the pseudo-global "special" variables such as $_ and friends. Since global variables make "action at a distance" a considerable problem, consider eliminating them from your code and stick to lexical variables declared with my (which are still package variables, they just default to the %main:: namespace).
If, for some reason, this is not feasible, simply don't reuse the variable name. Unless you're doing some really funky stuff, there's no need for local unless you're dealing with Perl's built-in globals.
Cheers,
Ovid
Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Detecting scoping/namespace conflicts
by Kanji (Parson) on Apr 03, 2002 at 22:20 UTC | |
|
Re: (Ovid) Re: Detecting scoping/namespace conflicts
by gregw (Beadle) on Apr 04, 2002 at 12:35 UTC |