Hello Mano_Man,
Looking through the various options in the thread linked by poj, the simplest/cleanest looks to be Syntax::Collector by tobyink. Here’s an example:
File GlobalDefined.pm:
package GlobalDefined; our $VERSION = 1; our $PROJECT_GLOBAL_VAR1 = 42; use Syntax::Collector q{ use strict 0; use warnings 0; use Data::Dumper 2.161; use Data::Dump 1.23 qw( pp ); }; 1;
File main.pl:
package GlobalDefined; use GlobalDefined; our $PROJECT_GLOBAL_VAR1; print 'My global = >', pp($PROJECT_GLOBAL_VAR1), "<\n";
Note that you still have to do a bit of work to access package globals in the calling script. This is probably a good thing, as globals should be used as sparingly as possible. (In my experimenting, I couldn’t get Exporter to play nicely with either Syntax::Collector or ToolSet when exporting package variables.)
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
In reply to Re: Code Reuse
by Athanasius
in thread Code Reuse
by Mano_Man
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |