diff options
Diffstat (limited to 'installperl')
-rwxr-xr-x | installperl | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/installperl b/installperl index dd6d66394d..656943c787 100755 --- a/installperl +++ b/installperl @@ -86,12 +86,28 @@ if ((-e "testcompile") && (defined($ENV{'COMPILE'}))) } find(sub { - if ("$File::Find::dir/$_" =~ m{^ext/[^/]+/(.*)\.pm$}) { - (my $pm = $1) =~ s{^lib/}{}; - $archpms{$pm} = 1; + if ("$File::Find::dir/$_" =~ m{^ext\b(.*)/([^/]+)\.pm$}) { + my($path, $modname) = ($1,$2); + + # strip trailing component first + $path =~ s{/[^/]*$}{}; + + # strip optional "/lib"; + $path =~ s{/lib\b}{}; + + # strip any leading / + $path =~ s{^/}{}; + + # reconstitute canonical module name + $modname = "$path/$modname" if length $path; + + # remember it + $archpms{$modname} = 1; } }, 'ext'); +# print "[$_]\n" for sort keys %archpms; + my $ver = $Config{version}; my $release = substr($],0,3); # Not used presently. my $patchlevel = substr($],3,2); |