|Perl: the Markov chain saw|
Multiple Package in one file with equal named variablesby Brutha (Friar)
|on Jan 27, 2006 at 09:42 UTC||Need Help??|
Brutha has asked for the
wisdom of the Perl Monks concerning the following question:
I just learned another lesson about variable scope, names and packages, but I am not sure which of my solutions should be prefered.
I have a quite great number (about 40) of slightly different objects, so I created a base class and used a macro to generate the code for the specialized subclasses with their differing attribute, which is a constant list of values (simplified, untested code):
This did not work, as the package statement does not affect the scope of @values.
One solution would be to name them different (e.g. @Subclass_1_values), which would keep me typing the rest of the day and does not increase readability.
One solution would be to wrap it in a function:
Does that initialize the list everytime the method is called? Not very efficient then.
Next try is a local scope:
Should work, but I do not like the increased indenting.
What else can I try? What are your experiences?
Thank You for comments.
And it came to pass that in time the Great God Om spake unto Brutha, the Chosen One: "Psst!"