summaryrefslogtreecommitdiff
path: root/cpan/CPAN/lib/CPAN/Module.pm
diff options
context:
space:
mode:
Diffstat (limited to 'cpan/CPAN/lib/CPAN/Module.pm')
-rw-r--r--cpan/CPAN/lib/CPAN/Module.pm15
1 files changed, 12 insertions, 3 deletions
diff --git a/cpan/CPAN/lib/CPAN/Module.pm b/cpan/CPAN/lib/CPAN/Module.pm
index 2c0c71ae7d..7d65b343b3 100644
--- a/cpan/CPAN/lib/CPAN/Module.pm
+++ b/cpan/CPAN/lib/CPAN/Module.pm
@@ -543,9 +543,18 @@ sub uptodate {
# returns true if installed in privlib or archlib
sub _in_priv_or_arch {
my($self,$inst_file) = @_;
- for my $confdirname (qw(archlibexp privlibexp)) {
- my $confdir = $Config::Config{$confdirname};
- if ($confdir eq substr($inst_file,0,length($confdir))) {
+ foreach my $pair (
+ [qw(sitearchexp archlibexp)],
+ [qw(sitelibexp privlibexp)]
+ ) {
+ my ($site, $priv) = @Config::Config{@$pair};
+ if ($^O eq 'VMS') {
+ for my $d ($site, $priv) { $d = VMS::Filespec::unixify($d) };
+ }
+ s!/*$!!g foreach $site, $priv;
+ next if $site eq $priv;
+
+ if ($priv eq substr($inst_file,0,length($priv))) {
return 1;
}
}