In buildtoc, pass 'no_chdir' to File::Find::find().
authorNicholas Clark <nick@ccl4.org>
Sun, 18 Dec 2011 16:37:20 +0000 (17:37 +0100)
committerNicholas Clark <nick@ccl4.org>
Mon, 19 Dec 2011 12:55:19 +0000 (13:55 +0100)
pod/buildtoc

index e35dcc4..5fcb938 100644 (file)
@@ -25,18 +25,18 @@ my $state = get_pod_metadata(0, sub { warn @_ if @_ }, 'pod/perltoc.pod');
 
 # Find all the modules
 my @modpods;
-find(sub {
-    if (/\.p(od|m)$/) {
-      my $file = $File::Find::name;
-      return if $file =~ qr!/Pod/Functions.pm\z!; # Used only by pod itself
-      return if $file =~ m!(?:^|/)t/!;
-      return if $file =~ m!lib/Net/FTP/.+\.pm!; # Hi, Graham! :-)
-      return if $file =~ m!XS/(?:APItest|Typemap)!;
-      my $pod = $_;
-      return if $pod =~ s/pm$/pod/ && -e $pod;
-      push @modpods, $file;
-    }
-  }, 'lib');
+find({no_chdir => 1,
+      wanted => sub {
+          if (/\.p(od|m)$/) {
+              return if m!/Pod/Functions.pm\z!; # Used only by pod itself
+              return if m!(?:^|/)t/!;
+              return if m!lib/Net/FTP/.+\.pm!; # Hi, Graham! :-)
+              return if m!XS/(?:APItest|Typemap)!;
+              my $pod = $_;
+              return if $pod =~ s/pm$/pod/ && -e $pod;
+              push @modpods, $_;
+          }
+      }}, 'lib');
 
 my_die "Can't find any pods!\n" unless @modpods;