local-lib
view release on metacpan or search on metacpan
lib/local/lib.pm view on Meta::CPAN
package local::lib;
use 5.006;
BEGIN {
if ($ENV{RELEASE_TESTING}) {
require strict;
strict->import;
require warnings;
warnings->import;
}
}
use Config ();
our $VERSION = '2.000029';
$VERSION =~ tr/_//d;
BEGIN {
*_WIN32 = ($^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'symbian')
? sub(){1} : sub(){0};
# punt on these systems
*_USE_FSPEC = ($^O eq 'MacOS' || $^O eq 'VMS' || $INC{'File/Spec.pm'})
? sub(){1} : sub(){0};
}
my $_archname = $Config::Config{archname};
my $_version = $Config::Config{version};
my @_inc_version_list = reverse split / /, $Config::Config{inc_version_list};
my $_path_sep = $Config::Config{path_sep};
our $_DIR_JOIN = _WIN32 ? '\\' : '/';
our $_DIR_SPLIT = (_WIN32 || $^O eq 'cygwin') ? qr{[\\/]}
: qr{/};
our $_ROOT = _WIN32 ? do {
my $UNC = qr{[\\/]{2}[^\\/]+[\\/][^\\/]+};
qr{^(?:$UNC|[A-Za-z]:|)$_DIR_SPLIT};
} : qr{^/};
our $_PERL;
sub _perl {
if (!$_PERL) {
# untaint and validate
($_PERL, my $exe) = $^X =~ /((?:.*$_DIR_SPLIT)?(.+))/;
$_PERL = 'perl'
if $exe !~ /perl/;
if (_is_abs($_PERL)) {
}
elsif (-x $Config::Config{perlpath}) {
$_PERL = $Config::Config{perlpath};
}
elsif ($_PERL =~ $_DIR_SPLIT && -x $_PERL) {
$_PERL = _rel2abs($_PERL);
}
else {
($_PERL) =
map { /(.*)/ }
grep { -x $_ }
map { ($_, _WIN32 ? ("$_.exe") : ()) }
map { join($_DIR_JOIN, $_, $_PERL) }
split /\Q$_path_sep\E/, $ENV{PATH};
}
}
$_PERL;
}
sub _cwd {
if (my $cwd
= defined &Cwd::sys_cwd ? \&Cwd::sys_cwd
: defined &Cwd::cwd ? \&Cwd::cwd
( run in 2.261 seconds using v1.01-cache-2.11-cpan-d8267643d1d )