http://qs321.pair.com?node_id=253451


in reply to How to use variables from other package?

Lexical variables (those created with my) do not show up in the symbol table, and thus can't be accessed via the $Packagename::variable syntax. In this case (assuming perl 5.6.0 or later), you'll want to do:

package CNLLog; our $_POST_CONVERSION = "postConversion"; our $_CORRECTIVE_SCRIPTS = "correctiveScripts";

..and in the other file..

print $CNLLog::_POST_CONVERSION;

Older versions of perl will need to use the use vars pragma. See perldoc vars.

Update: One should also mention the wonderful article Coping with Scoping, by MJD. See also 'our' is not 'my'.

perl -pe '"I lo*`+$^X$\"$]!$/"=~m%(.*)%s;$_=$1;y^`+*^e v^#$&V"+@( NO CARRIER'