http://www.perlmonks.org?node_id=164404


in reply to symbol tables and class data members

You must qualify @aa because it's a package variable, and under 'use strict' you must qualify all package variables. If something is in the symbol table, it must be fully-qualified under strict unless you've declared it with 'our'. (Or use vars if you're not on the latest Perl.)

It seems to me that what you want is a way of doing symbol-table hacking with lexical vars, and I'm afraid that that's not possible because lexical vars don't appear in the symbol table.

I'd suggest declaring your vars with 'our'.

stephen

Replies are listed 'Best First'.
Re: Re: symbol tables and class data members
by amazotron (Novice) on May 06, 2002 at 18:39 UTC
    I guess I should explain that the package Foo is functioning as a class and Test as a method of that class. I was trying to find an easy way of converting existing package-oriented code into class-based code. That is, move globals to be data members and not have to struggle rewriting all the uses of those globals.