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 )