Try longst prefixes first, else lib/CPAN may match lib/CPANPLUS/... and similar.
authorNicholas Clark <nick@ccl4.org>
Thu, 30 Jul 2009 20:41:14 +0000 (21:41 +0100)
committerDavid Mitchell <davem@iabyn.com>
Mon, 3 Aug 2009 21:07:14 +0000 (22:07 +0100)
(cherry picked from commit 8cf77941f2751a20a52ac4bbbcff354f82ac4c91)

Porting/Maintainers.pm

index 5cc9ebd..e5dde3c 100644 (file)
@@ -220,13 +220,19 @@ sub files_to_modules {
        if (@ToDo) {
            # Try prefix matching.
 
+           # Need to try longst prefixes first, else lib/CPAN may match
+           # lib/CPANPLUS/... and similar
+
+           my @OrderedModuleByPat
+               = sort {length $b <=> length $a} keys %ModuleByPat;
+
            # Remove trailing slashes.
            for (@ToDo) { s|/$|| }
 
            my %ToDo;
            @ToDo{@ToDo} = ();
 
-           for my $pat (keys %ModuleByPat) {
+           for my $pat (@OrderedModuleByPat) {
                last unless keys %ToDo;
                if (-d $pat) {
                    my @Done;