summaryrefslogtreecommitdiffstats
path: root/MDK/Common/Globals.pm
diff options
context:
space:
mode:
Diffstat (limited to 'MDK/Common/Globals.pm')
-rw-r--r--MDK/Common/Globals.pm61
1 files changed, 0 insertions, 61 deletions
diff --git a/MDK/Common/Globals.pm b/MDK/Common/Globals.pm
deleted file mode 100644
index 0e73b83..0000000
--- a/MDK/Common/Globals.pm
+++ /dev/null
@@ -1,61 +0,0 @@
-package MDK::Common::Globals;
-
-=head1 NAME
-
-Shares constant values between modules
-
-=head1 SYNOPSIS
-
- use MDK::Common::Globals "foo", qw($a $b);
-
- MDK::Common::Globals::init(a => 2, b => 3);
-
- print $a; # 2
-
-=cut
-
-
-sub import {
- my (undef, $name, @globals) = @_;
- foreach (@globals) {
- $name =~ /^\$/ and die qq(usage : use MDK::Common::Globals "group", qw(\$var1 \$var2 ...);\n);
- s/^\$// or die qq(bad parameter to "use MDK::Common::Globals": missing variable ``$_'' should be written ``\$$_''); #);
-
- no strict 'refs';
- my $v = caller() . '::' . $_;
- my $lv = "$name __ $_";
- *$v = *$lv;
- eval { undef = $$lv; tie $$lv, 'MDK::Common::Globals', $_ };
- }
-}
-
-sub init {
- @_ % 2 == 0 or die "usage MDK::Common::Globals::init(key => val, key2 => val2, ...)\n";
- my %l = @_;
- foreach (keys %l) {
- my $v = caller() . '::' . $_;
- no strict 'refs';
- $$v = $l{$_};
- }
-}
-
-sub TIESCALAR {
- my ($class, $name) = @_;
- my $var;
- bless [$var, undef, $name], $class;
-}
-
-sub STORE {
- my ($o, $val) = @_;
- $o->[1] and die "MDK::Common::Globals::$o->[2] already set\n";
- $o->[1] = 1;
- $o->[0] = $val;
-}
-
-sub FETCH {
- my ($o) = @_;
- $o->[1] or die "MDK::Common::Globals::$o->[2] unset\n";
- $o->[0];
-}
-
-1;