your
view release on metacpan or search on metacpan
lib/your.pm view on Meta::CPAN
my($type, $name) = unpack('a1a*', $sym);
unless( $name =~ /::/ ) {
require Carp;
Carp::croak("Can only declare other package's variables");
}
if( $name =~ tr/A-Za-z_0-9://c ) {
if( $sym =~ /^\w+[\[{].*[\]}]$/ ) {
require Carp;
Carp::croak("Can't declare individual elements of a hash or array");
}
elsif ( $^H &= strict::bits('vars') ) {
require Carp;
Carp::croak("'$sym' is not a valid variable name under strict vars");
}
}
*$name =
( $type eq "\$" ? \$$name
: $type eq "\@" ? \@$name
: $type eq "\%" ? \%$name
: $type eq "\*" ? \*$name
: $type eq "\&" ? \&$name
( run in 0.434 second using v1.01-cache-2.11-cpan-49f99fa48dc )