I am very unsure as to your question and the intent of your code? I don't see the need for type glob (*something). What is your objective?
#!/usr/bin/perl
use strict;
use warnings;
# dispatch table...
#
my %table = ('x'=>\&ABC,
'y'=> sub {print "Anon sub for key 'y' in table\n";}
);
sub ABC{print "sub ABC called\n";};
# call routines in the dispatch table...
$table{'x'}->(); # prints: "sub ABC called"
$table{'y'}->(); # prints: "Anon sub for key 'y' in table"
# local can only "mask" an "our" or a global variable, like
# perhaps as in the common idiom:
# my $file = do { local $/; <FILE> };
# which "slurps" an entire file into the $file variable.<br>
# A "my" variable cannot be "localized"
our $xyzzy = 33;
{
local $xyzzy = 55;
print "$xyzzy\n"; #prints 55
}
print "$xyzzy\n"; #prints 33