Class-Variable
view release on metacpan or search on metacpan
lib/Class/Variable.pm view on Meta::CPAN
our $VERSION = '1.002'; # <== update version in pod
our @EXPORT;
my $NS = {};
push @EXPORT, 'public';
sub public($;)
{
my @names = @_;
my $package = (caller)[0];
foreach my $name (@names)
{
no strict 'refs';
*{$package.'::'.$name } = get_public_variable($package, $name);
}
}
push @EXPORT, 'protected';
sub protected($;)
{
my @names = @_;
my $package = (caller)[0];
foreach my $name (@names)
{
no strict 'refs';
*{$package.'::'.$name } = get_protected_variable($package, $name);
}
}
push @EXPORT, 'private';
sub private($;)
{
my @names = @_;
my $package = (caller)[0];
foreach my $name (@names)
{
no strict 'refs';
*{$package.'::'.$name } = get_private_variable($package, $name);
}
}
sub get_public_variable($$)
{
my( $package, $name ) = @_;
( run in 1.039 second using v1.01-cache-2.11-cpan-1e74a51a04c )