PDLA-Core
view release on metacpan or search on metacpan
Basic/AutoLoader.pm view on Meta::CPAN
local $_;
foreach $_(@PDLALIB) {
# Expand ~{name} and ~ conventions.
if(s/^(\+?)\~(\+||[a-zA-Z0-9]*)//) {
if($2 eq '+') {
# Expand shell '+' to CWD.
$_= $1 . ($ENV{'PWD'} || '.');
} elsif(!$2) {
# No name mentioned -- use current user.
# Ideally would use File::HomeDir->my_home() here
$_ = $1 . ( $ENV{'HOME'} || (( getpwnam( getlogin || getpwuid($<) ))[7]) ) . $_;
} else {
# Name mentioned - try to get that user's home directory.
$_ = $1 . ( (getpwnam($2))[7] ) . $_;
}
}
# If there's a leading '+', include all subdirs too.
push(@PDLALIB_EXPANDED,
s/^\+// ? &PDLA::AutoLoader::expand_dir($_) : $_
);
t/autoload.t view on Meta::CPAN
my $x = long(2 + ones(2,2));
my $y = func($x);
ok( (sum($y) == 4*29), 'Check autoload of func.pdl' );
#check that tilde expansion works (not applicable on MS Windows)
SKIP: {
skip "Inapplicable to MS Windows", 1 if $^O =~ /MSWin/i;
my $tilde = (PDLA::AutoLoader::expand_path('~'))[0];
my $get = $ENV{'HOME'} || (getpwnam( getlogin || getpwuid($<) ))[7];
my $echo = qx(echo ~);
chomp $echo;
if ($echo !~ /^~/) {
is($tilde, $echo, "Check tilde expansion (Got '$get' from (getpwnam(getpwuid(\$<)))[7] )");
} else {
is($tilde, $get, "Check tilde expansion (Got '$echo' from echo ~");
}
}
( run in 0.384 second using v1.01-cache-2.11-cpan-8d75d55dd25 )