Current Dir: /snap/core22/2437/usr/lib/x86_64-linux-gnu/perl-base/
[DIR] auto [ delete | rename ]
[DIR] Carp [ delete | rename ]
[DIR] Exporter [ delete | rename ]
[DIR] File [ delete | rename ]
[DIR] Getopt [ delete | rename ]
[DIR] Hash [ delete | rename ]
[DIR] IO [ delete | rename ]
[DIR] IPC [ delete | rename ]
[DIR] List [ delete | rename ]
[DIR] Scalar [ delete | rename ]
[DIR] Text [ delete | rename ]
[DIR] Tie [ delete | rename ]
[DIR] unicore [ delete | rename ]
[DIR] warnings [ delete | rename ]
[FILE] attributes.pm [ edit | delete | rename ]
[FILE] AutoLoader.pm [ edit | delete | rename ]
[FILE] base.pm [ edit | delete | rename ]
[FILE] bytes.pm [ edit | delete | rename ]
[FILE] bytes_heavy.pl [ edit | delete | rename ]
[FILE] Carp.pm [ edit | delete | rename ]
[FILE] Config.pm [ edit | delete | rename ]
[FILE] Config_git.pl [ edit | delete | rename ]
[FILE] Config_heavy.pl [ edit | delete | rename ]
[FILE] constant.pm [ edit | delete | rename ]
[FILE] Cwd.pm [ edit | delete | rename ]
[FILE] DynaLoader.pm [ edit | delete | rename ]
[FILE] Errno.pm [ edit | delete | rename ]
[FILE] Exporter.pm [ edit | delete | rename ]
[FILE] Fcntl.pm [ edit | delete | rename ]
[FILE] feature.pm [ edit | delete | rename ]
[FILE] fields.pm [ edit | delete | rename ]
[FILE] FileHandle.pm [ edit | delete | rename ]
[FILE] integer.pm [ edit | delete | rename ]
[FILE] IO.pm [ edit | delete | rename ]
[FILE] lib.pm [ edit | delete | rename ]
[FILE] locale.pm [ edit | delete | rename ]
[FILE] overload.pm [ edit | delete | rename ]
[FILE] overloading.pm [ edit | delete | rename ]
[FILE] parent.pm [ edit | delete | rename ]
[FILE] POSIX.pm [ edit | delete | rename ]
[FILE] re.pm [ edit | delete | rename ]
[FILE] SelectSaver.pm [ edit | delete | rename ]
[FILE] Socket.pm [ edit | delete | rename ]
[FILE] strict.pm [ edit | delete | rename ]
[FILE] Symbol.pm [ edit | delete | rename ]
[FILE] utf8.pm [ edit | delete | rename ]
[FILE] vars.pm [ edit | delete | rename ]
[FILE] warnings.pm [ edit | delete | rename ]
[FILE] XSLoader.pm [ edit | delete | rename ]
Viewing: /snap/core22/2437/usr/lib/x86_64-linux-gnu/perl-base/vars.pm
package vars;
use 5.006;
our $VERSION = '1.05';
use warnings::register;
use strict qw(vars subs);
sub import {
my $callpack = caller;
my (undef, @imports) = @_;
my ($sym, $ch);
foreach (@imports) {
if (($ch, $sym) = /^([\$\@\%\*\&])(.+)/) {
if ($sym =~ /\W/) {
# time for a more-detailed check-up
if ($sym =~ /^\w+[[{].*[]}]$/) {
require Carp;
Carp::croak("Can't declare individual elements of hash or array");
} elsif (warnings::enabled() and length($sym) == 1 and $sym !~ tr/a-zA-Z//) {
warnings::warn("No need to declare built-in vars");
} elsif (($^H & strict::bits('vars'))) {
require Carp;
Carp::croak("'$_' is not a valid variable name under strict vars");
}
}
$sym = "${callpack}::$sym" unless $sym =~ /::/;
*$sym =
( $ch eq "\$" ? \$$sym
: $ch eq "\@" ? \@$sym
: $ch eq "\%" ? \%$sym
: $ch eq "\*" ? \*$sym
: $ch eq "\&" ? \&$sym
: do {
require Carp;
Carp::croak("'$_' is not a valid variable name");
});
} else {
require Carp;
Carp::croak("'$_' is not a valid variable name");
}
}
};
1;
__END__